关于数据输入之先输入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()无此问题
代码区:
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()无此问题
相关文章推荐
- 关于数据输入之先输入int数值在输入string的一些小问题
- 关于数值分析和LCP问题的一些开源项目
- 关于昨天Scanner调用sc.nextInt()异常try后不能二次输入问题的详细解答
- 关于mongodb查询数据,数值类型查找不到数据的问题
- 关于C++/C 输入一行整型数据,数量不定问题,如何读入
- 关于输入一组数据求最小的问题
- asp.net关于TextBox.Text的值为空时,将string数据插入到数据库中int数据的问题的解决方法
- 关于在asp.net中使用showDialogModal方式输入数据中存在的问题
- 【数据处理】关于string与byte转换之间 数据丢失的问题
- java中一些int,String,byte的转换问题
- 关于一些数值组合的问题(分金条和人民币面值)
- ms sql到mysql的移植:关于数据类型移植的一些问题
- session和request的getAttribute和setAttribute 关于String和int的问题
- 关于数据表映射在更新时候出现的一些问题
- 关于int类型的数据的几个问题
- 关于datagridview单元格不切换焦点无法获得新输入数据的问题解决方法
- 关于mysql数据库中数据输入问题
- 关于atoi字符串转换成int整数的一些问题
- 关于scanf输入数据时要注意的一些地方
- C++中关于string的一些函数的问题