在Java中将输入存储为不同类型

时间:2013-10-12 23:06:28

标签: java io java.util.scanner

我正在寻找一种检索用户输入的方法。我找到了两个解决方案一个使用Scanner,另一个使用BufferedReader。 我注意到BufferedReader只返回String

我正在寻找一种安全地从用户输入中检索信息的方法。

在下面的示例中,我想将Cname存储为String,将等级和权重存储为float。 关于如何最好地实现其类型的任何建议?我知道有几种方法,比如stringToInt或nextInt,甚至可以编写一些验证函数。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Cname = br.readLine();
System.out.println("Enter your Course grade : ");
Grade = br.readLine();
System.out.println("Enter your Course weight : ");
Weight = br.readLine();

非常感谢,对不起我的挑剔问题。

2 个答案:

答案 0 :(得分:1)

在Java中从键盘检索用户输入的最常用方法是使用Scanner。我就是这样做的:

Scanner scanner = new Scanner(System.in);

System.out.println("Enter your course name: ");
String courseName = scanner.nextLine();

System.out.println("Enter your course grade: ");
float courseGrade = scanner.nextFloat();

System.out.println("Enter your course weight: ");
float courseWeight = scanner.nextFloat();

scanner.close();

使用float而不是double是否有特定原因?如果没有,我可能会坚持使用双倍。

答案 1 :(得分:0)

您可以使用scanner方法来适应每种数据类型。

有关更多信息,请参阅以下文档: http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html