Scanner的使用
java中的Scanner用于获取控制台输入的数据
// Scanner获取控制台输入数据的一般写法
Scanner sc = new Scanner(System.in);
// ……
sc.close();
方法:
nextByte():获取输入数据为byte类型
nextShort():获取输入数据为short类型
nextInt():获取输入数据为int类型
nextLong():获取输入数据为long类型
nextFloat():获取输入数据为float类型
nextDouble():获取输入数据为double类型
nextBoolean():获取输入数据为boolean类型
next():获取输入数据为String类型
nextLine():获取输入数据为String类型
hasNextByte():判断输入的数据是否为byte类型
hasNextShort():判断输入的数据是否为short类型
hasNextInt():判断输入的数据是否为int类型
hasNextLong():判断输入的数据是否为long类型
hasNextFloat():判断输入的数据类型是否为float类型
hasNextDouble():判断输入的数据类型是否为double类型
hasNextBoolean():判断输入的数据类型是否为boolean类型
hasNext():判断输入的数据类型是否为String类型
hasNextLine():判断输入的数据类型是否为String类型
思考:
Scanner sc = new Scanner(System.in);
System.out.println("请输入str1:");
String str1 = sc.next();
System.out.println(str1);
System.out.println("请输入str2:");
String str2 = sc.nextLine();
System.out.println(str2);
sc.close();
输入为Hello World回车
结果为

输入为Hello+tab键+World+回车
结果为

结论:
输入以回车结束,next获取空格和制表符结束前的字符串,next不取空格和制表符,nextLine获取回车结束前的字符串,nextLine取字符前后的空格和制表符
Scanner sc = new Scanner(System.in);
int i = sc.nextInt(5);
System.out.println(i);
sc.close();
输入为44
结果为

nextInt(5),表示输入的为5进制的数,输出为十进制的数
浙公网安备 33010602011771号