当前位置: 首页 > news >正文

刷题DAY5

大小写转换

题目:从键盘输入一个大写的字母,要求改写小写字母输出

输入:输入一个大写的字母

输出:输出相对应的小写字母

输入:A

输出:a

import java.util.Scanner;
public class 大小写转换 {
public static void main(String[] args) {Scanner scanner = new Scanner(System.in); // 创建Scanner对象
​System.out.println("请输入一个大写字母:");String input = scanner.next(); // 接收用户输入
​if (input.length() == 1 && Character.isUpperCase(input.charAt(0))) {char lowerCaseLetter = Character.toLowerCase(input.charAt(0));System.out.println("小写字母为: " + lowerCaseLetter);} else {System.out.println("输入不是单个大写字母!");}
​scanner.close(); // 关闭scanner}
}
​
​

知识点

1.input

input 即输入流(以电脑为参考系,从外部向程序或电脑中输入一个数据,称之为输入流) 相当于输入一样

而output就是输出流(以电脑/程序向外输出一个数据)

input和output都是io流

2.Character类

是一个包装类,用于封装一个基本数据类型char(16位)的值。它提供一些静态方法(执行特定功能的代码块)来操作字符

关于character类的静态方法:

  1. isLetter(char c):检查字符是否是字母。

  2. isDigit(char c):检查字符是否是数字。

  3. isWhitespace(char c):检查字符是否为空格、制表符或换行符。

  4. isUpperCase(char c):检查字符是否为大写字母。

  5. isLowerCase(char c):检查字符是否为小写字母。

  6. toUpperCase(char c):将字符转换为大写字母。

  7. toLowerCase(char c):将字符转换为小写字母。

3.静态方法

执行特定功能的代码块。 作用就是通过定义方法,可以解决代码的冗余,减少重复的代码。

基本语法:访问修饰符 static 返回值类型 方法名(参数列表){ ...代码块/方法体...}

例如: public static void main(String[] args){}

注:1. 静态方法是在类名中编写的而方法与方法之间是平级的所以方法不能在方法之间写

方法的调用:在Java中方法必须要用调用才能使用而静态方法的调用是用类名(多个静态方法在同一个类中,可以不适用类名直接调用)

 

 

整数求和

题目:求两个整数之和

输入:数据只包括两个整数A和B

输出:两个整数的和

输入:1

2

输出:3

​
import java.io.*;
import java.util.*;
public class 整数求和 {
​public static void main(String args[]) throws Exception {Scanner cin=new Scanner(System.in);int a=cin.nextInt(),b=cin.nextInt();System.out.println(a+b);}
​
}
​

知识点:

1.package(包)

包机制则相当于电脑硬盘中的文件夹,因不同的用途不同的功能进行分类,便于查找管理。 包的命名格式:公司域名倒序+项目名oa+模块名+功能名比如://eg:com.bjpowernode.oa.user.service; //com bj… oa user service 包必须全部小写而且包名也是标识符,必须遵顼标识符命名规范 。 一个包对应一个目录

2.import

作用:引入所需要的包(相当于这个文件需要运用到其他的文件里面的东西,而这个操作需要import) 命名格式:格式 import 类名或者包名.表示全部) jav.lang.是Java中的语言包,是Java中的核心类,不需要手动引入,系统自动引入。import语句需要编写在package语句之下,class语句之上。import com.表示com包下的所有类,com.Date表示导入com包下的Date类。 不在同一个包下或者不是java.lang文件夹下,需要手动导入

3.scanner 类

是用于获取用户输入的工具类

基本语法:Scanner s = new Scanner (System.in) //创建了一个Scanner对象,Scanner为类名,s为对象名

在scanner两个中重要的方法:

  • 以 hasNext 开头的方法:用于检查输入源中是否还有下一个标记可用,常用的有:

    1. hasNext():如果输入源中还有下一个标记(非空格字符),返回 true。

    2. hasNextLine():如果输入源中还有下一行(非空行),返回 true。

    3. hasNextInt():如果输入源中还有下一个整数,返回 true。

    4. hasNextDouble():如果输入源中还有下一个浮点数,返回 true。

    5. hasNextBoolean():如果输入源中还有下一个布尔值,返回 true。

  • 以 next 开头的方法:用于从输入源中获取下一个标记并返回相应的数据类型,常用的有:

    1. next():从输入源中获取并返回一个字符串,默认以空格为分隔符,以回车 Enter 为结束符,回车 Enter 后的内容则放入缓冲区。

    2. nextLine():从输入源中获取并返回一行字符串(以换行符为分隔符)。

    3. nextInt():从输入源中获取并返回一个整数。

    4. nextDouble():从输入源中获取并返回一个浮点数。

    5. nextBoolean():从输入源中获取并返回一个布尔值(“true” 或 “false”)。

注:next()和nextline()的区别

class Solution {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);
​// next() && nextLine()System.out.println("请输入一个字符串 nextLine():");String str1 = scanner.nextLine();System.out.println(str1);
​System.out.println("请输入一个字符串 next():");String str2 = scanner.next();System.out.println(str2);}
}
​
请输入一个字符串 nextLine():Hello World  
nextLine() 的读取结果为: Hello World  
​
请输入一个字符串 next():Hello   World
next() 的读取结果为: 
Hello
​

需要注意的是在使用 nextInt() 方法读取整数后,缓冲区仍然会包含一个换行符 \n。这是因为 nextInt() 只读取了整数部分,而没有读取换行符。当接下来调用 nextLine() 方法时,它会读取缓冲区中的剩余部分,即仅包含换行符的部分。因此,为了确保 nextLine() 方法可以读取到用户输入的整行字符串,我们需要在调用 nextLine() 方法之前清除缓冲区中的换行符。 通过调用 scanner.nextLine() 但不将其结果保存到变量中,实际上是表示我们只想要从缓冲区中读取并丢弃这个换行符。这样,接下来调用 nextLine() 方法时,它将读取到用户输入行的内容,并将其保存到字符串 input 中,而不会被之前的换行符干扰。确保清除缓冲区中的换行符是一种常见的做法,以避免由于换行符残留而导致不正确的输入或跳过输入的情况发生。 如果在上面代码中没有 scanner.nextLine() 这行语句的话,那么会出现如下错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: ""at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)at java.lang.Integer.parseInt(Integer.java:592)at java.lang.Integer.parseInt(Integer.java:615)at Solution.main(Solution.java:15)
​

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Openlayers6 图形绘制和修改功能(结合React)
  • 使用 MongoDB 构建 AI:Flagler Health 的 AI 旅程如何彻底改变患者护理
  • Canal单机部署
  • Python模拟退火算法
  • 一个Android下载网络图片显示并保存到系统相册的完整案例
  • 关于k8s的pvc存储卷
  • haproxy七层代理总结
  • SpringBoot参数校验详解
  • PyTorch 基础学习(6)- 自动微分
  • Android Studio设置 offline 模式
  • 解决 Windows 任务栏图标不更新问题:深入解析与解决方案
  • C++初阶_2:引用
  • docker中调用GPU算力(debain12系统)
  • Spring 事务机制
  • Linux中针对文件权限的解析
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • DataBase in Android
  • node-glob通配符
  • Python语法速览与机器学习开发环境搭建
  • webpack4 一点通
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 基于web的全景—— Pannellum小试
  • 简单数学运算程序(不定期更新)
  • 普通函数和构造函数的区别
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 移动端 h5开发相关内容总结(三)
  • 移动端解决方案学习记录
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • # Java NIO(一)FileChannel
  • #70结构体案例1(导师,学生,成绩)
  • #pragma once
  • $ git push -u origin master 推送到远程库出错
  • $.each()与$(selector).each()
  • ${ }的特别功能
  • (12)Linux 常见的三种进程状态
  • (26)4.7 字符函数和字符串函数
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (第27天)Oracle 数据泵转换分区表
  • (二)linux使用docker容器运行mysql
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (四)Android布局类型(线性布局LinearLayout)
  • (一) 初入MySQL 【认识和部署】
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .NET Core 中插件式开发实现
  • .net core开源商城系统源码,支持可视化布局小程序
  • .net 获取某一天 在当月是 第几周 函数
  • .Net实现SCrypt Hash加密
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @synthesize和@dynamic分别有什么作用?
  • @Transactional 详解
  • [1] 平面(Plane)图形的生成算法
  • [15] 使用Opencv_CUDA 模块实现基本计算机视觉程序
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [Android Studio] 开发Java 程序