两个常用的方法:
- public int nextInt():获取一个int类型的值
- public String nextLine():获取一个String类型的值
方法演示
System.out.println("请输入第一个整数:");
int i = sc.nextInt();
System.out.println("i = " + i);
System.out.println("请输入第一个字符串:");
String line1 = sc.nextLine();
System.out.println("line1 = " + line1);
先获取int值,然后获取String值出现问题:String的值还没有输入程序就结束啦
原因探索:
结果输出中就没有line2连空格都没有呕,
System.out.println("请输入第一个整数:");
int i = sc.nextInt();
System.out.println("请输入第二个字符串:");
String line2 = sc.nextLine();
//System.out.println("i = " + i + ", line2 = " + line2);
System.out.println(i);
System.out.print("11111111111");
System.out.print(line2);
System.out.println("2222222222222");
原因叙述:
当你输完整数用户按回车键时程序就结束,因为nextLine()是键盘录入字符串的方法,可以接收任意类型,但是他能获取一行,通过\r\n,只要遇到\r\n就证明一行结束
解决方案
- 1,创建两次对象,但是浪费空间
- 2,键盘录入的都是字符串,都用nextLine方法,后面我们会学习讲整数字符串转换成整数的方法
int i = sc.nextInt();
Scanner sc2 = new Scanner(System.in);
String line = sc2.nextLine();
System.out.println(i);
System.out.println(line);