您的位置:首页 > 其它

关于数据输入之先输入int数值在输入string的一些小问题

2017-05-21 21:19 381 查看
今天在测试Scanner输入问题时候,偶然间发现JAVA在处理先输入一个int数然后在接收一整行字符串输入时候会出现一些意想不到的问题,遂记下,也给大家做个参考.

代码区:

import java.util.Scanner;



public class SannerDemo {
public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
String str = scanner.nextLine();
System.out.println("你输入的是 :x="+x+",str = "+ str);
}

}

这个结果是:

9

你输入的是 :x=9,string = 

这显然不是咱们想要的结果.

后来经多方查证,发现原来是虚拟机把换行符(\r\n)当做了输入的"string"直接传递给str了.

解决问题:

1.重新创建一个scanner对象.使用它接收String输入,这样就规避了上面的问题

2.在明确接收输入是字符串时候不要使用nextLine(),使用next()无此问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: