write:2022-3-12
输入普通类型
以整数类型为例的代码演示:
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
等价于
int a = new Scanner(System.in).nextInt(); //整数类型输入
仔细看看以上两个代码比较哟!
同理输入字符串:
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
String s = new Scanner(System.in).nextLine(); //此行代码等价于上两行代码
同上原理的是:
输入整数:int-nextInt(), 输入字符串:String-nextLine(),输入Float类型:float-nextFloat(),
输入double类型:double-nextDouble,byte-nextByte()输入short类型:short-nextShort(),输入long类型:long-nextLong(),
输入布尔类型:boolean-nextBoolean()等
输入字符
输入字符:(三种方法)
- Scanner sc = new Scanner(System.in);
char a = sc.next().charAt(0);(原理:next()函数返回输入中的下一个标记/字符作为字符串,并且charAt(0)函数返回该字符串中的第一个字符) - Scanner scanner = new Scanner(System.in);
char c = scanner.next().toCharArray()[0];
这个用起来一般般,有些浪费资源,没有第一种简单 - import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public static void main(String[] args) throws IOException { //此处需要抛出异常
char c = (char)new BufferedReader(new InputStreamReader(System.in)).read();
}
这样也可以输入,但是!这情况用于没有scanner包时使用,很麻烦,需要导入很多东西,不建议使用,
综上所述,记住第一种方法
输入数组
输入数组
第一种方法:(不限制输入数组的长度)
System.out.println(“请输入几个数并用逗号隔开:”);
Scanner sc = new Scanner(System.in);
String str = sc.next().toString();
String[] arr = str.split(",");
int[] b = new int[arr.length];
for(int j = 0; j<b.length;j++) {
b[j] = Integer.parseInt(arr[j]);
System.out.println(b[j]+" ");
}
第二种方法:(限制输入的个数)
System.out.println(“请输入三个数:”);
Scanner in = new Scanner(System.in);
int[] b=new int[3];
for(int i=0;i<b.length;i++){
b[i]=in.nextInt();
}