Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以使用带字符串的整型扫描程序?_Java_String_Input_Integer_Java.util.scanner - Fatal编程技术网

Java 是否可以使用带字符串的整型扫描程序?

Java 是否可以使用带字符串的整型扫描程序?,java,string,input,integer,java.util.scanner,Java,String,Input,Integer,Java.util.scanner,我知道这个问题听起来有点夸张,但我很好奇是否可以在整数扫描仪中使用字符串 我问这个问题是因为我很好奇,例如,当用户输入了他们想要的所有数字时,是否输入了数字和类型。我知道我可以在我想让他们输入的地方做,例如,小于0的数字(这可能适用于分数) 但是,如果我希望在while语句中执行此操作,您将如何执行此操作,并使用它终止该语句。如注释中所述,扫描仪与数据类型没有关联。话虽如此,这可能是一个简单的解决方案——请记住,它可以得到改进,以更好地处理您的异常 import java.util.Scanne

我知道这个问题听起来有点夸张,但我很好奇是否可以在整数扫描仪中使用字符串

我问这个问题是因为我很好奇,例如,当用户输入了他们想要的所有数字时,是否输入了数字和类型。我知道我可以在我想让他们输入的地方做,例如,小于0的数字(这可能适用于分数)


但是,如果我希望在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)