Java 是否可以使用带字符串的整型扫描程序?
我知道这个问题听起来有点夸张,但我很好奇是否可以在整数扫描仪中使用字符串 我问这个问题是因为我很好奇,例如,当用户输入了他们想要的所有数字时,是否输入了数字和类型。我知道我可以在我想让他们输入的地方做,例如,小于0的数字(这可能适用于分数)Java 是否可以使用带字符串的整型扫描程序?,java,string,input,integer,java.util.scanner,Java,String,Input,Integer,Java.util.scanner,我知道这个问题听起来有点夸张,但我很好奇是否可以在整数扫描仪中使用字符串 我问这个问题是因为我很好奇,例如,当用户输入了他们想要的所有数字时,是否输入了数字和类型。我知道我可以在我想让他们输入的地方做,例如,小于0的数字(这可能适用于分数) 但是,如果我希望在while语句中执行此操作,您将如何执行此操作,并使用它终止该语句。如注释中所述,扫描仪与数据类型没有关联。话虽如此,这可能是一个简单的解决方案——请记住,它可以得到改进,以更好地处理您的异常 import java.util.Scanne
但是,如果我希望在while语句中执行此操作,您将如何执行此操作,并使用它终止该语句。如注释中所述,扫描仪与数据类型没有关联。话虽如此,这可能是一个简单的解决方案——请记住,它可以得到改进,以更好地处理您的异常
import java.util.Scanner;
public class Start {
public static void main(String[] args) {
Scanner Reader = new Scanner(System.in);
boolean continueReading = true;
int grade;
while (continueReading)
{
String input;
System.out.println("Please input a number or type in Done to exit.");
input = Reader.nextLine();
if(input.equalsIgnoreCase("Done"){
System.out.println("Finishing..");
continueReading == false;
}
else{
try{
grade = Integer.parseInt(input);
System.out.println("The grade is: " + grade);
}catch(NumberFormatException e){
//Some exception handling
}
}
}
}
您可以接受字符串并将其解析为整数。扫描程序从不与数据类型关联。您几乎可以从扫描仪中读取任何类型的内容。你可以把所有东西都当作字符串来读,然后把它们当作整数来解析。正如@Phantomazi所说,你可以接受字符串并把它们解析成整数,就像这样,
int input=Integer.parseInt(“来自扫描仪的字符串”)
如果Integer\parseInt
失败,请确保处理NumberFormatException
。首先检查字符串是否等于“完成”
或使用匹配项(“\\d+”)
进行检查,然后将它们解析为整数。这将防止出现已知的数字格式异常。请注意,您不需要继续阅读
,因为您有中断
。您可以在执行的同时(true)