关于键盘录入
在使用键盘录入时先输入int类型再输入String类型并且对输入的数据进行打印
关键代码如下:
Scanner sc = new Scanner(System.in);
System.out.println("请输入数据");
int a = sc.nextInt();
System.out.println("请输入字符串");
String b = sc.nextLine();
System.out.println(a+" "+b);
在运行时发现,输入完int型数据时程程序就停止了运行
原因分析:
当输入完int类型时需要回车一次,这时程序就以为输入了一个空的字符串
并且将int类型的数据和空字符串一起打印出来了
注:因为字符串对象可以不包含任何字符的对象
解决方案:
在输入String类型时,重新建立一个sc对象,那样就不存在回车的问题了
代码如下
Scanner sc = new Scanner(System.in);
System.out.println("请输入数据");
int a = sc.nextInt();
System.out.println("请输入字符串");
sc = new Scanner(System.in);
String b = sc.nextLine();
System.out.println(a+" "+b);
这就解决了正确的问题
建立新的sc对象解决了回车而引起的问题,但是新建对象容易浪费内存
(目前的代码基本上内存影响不大)
|
|