Java Try&;捕获多个输入语句

Java Try&;捕获多个输入语句,java,Java,我试图捕获多个输入语句的inputmaschException。我意识到它工作不正常。我应该为每个输入语句执行单个catch和try import java.util.InputMismatchException; import java.util.Scanner; public class Main { public static void main(String[] args) { // write your code here Scanner i

我试图捕获多个输入语句的
inputmaschException
。我意识到它工作不正常。我应该为每个输入语句执行单个
catch
try

import java.util.InputMismatchException;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // write your code here
        Scanner input = new Scanner(System.in);
        boolean tue = true;
        int inputNum=0;
        int inputNum2=0;
        int inputNum3=0;
        do {
            try {
                System.out.println("Enter a number");
                inputNum = input.nextInt();
                System.out.println("Enter another number: ");
                inputNum2 = input.nextInt();
                System.out.println("Enter another number");
                inputNum3 = input.nextInt();
                 tue = false;

            } catch (InputMismatchException e) {
                input.nextLine();
                System.out.println("Enter the require text");

            }

        }while (tue);
        System.out.println(inputNum + " "+ inputNum2 + " "+ inputNum3);

    }
}

我不确定什么对您不起作用,但以下是我将如何实现这一点:

 Scanner input = new Scanner(System.in);
    int[] inputs = new int[3];//create array for the # of inputs
    for ( int i = 0; i < inputs.length; ) {
        try {
            System.out.println( "Enter Num " + ( i + 1 ) );
            inputs[i] = input.nextInt();
            i++;//only increment if the line above doesnt raise error
        } catch ( InputMismatchException e ) {
            input.nextLine();
            System.out.println( "Only integers allowed, try again" );
        }
    }
    input.close();
    System.out.println( inputs[0] + " " + inputs[1] + " " + inputs[2] );
扫描仪输入=新扫描仪(System.in);
int[]输入=新的int[3]//为#个输入创建数组
对于(int i=0;i
要打印整个阵列,请执行以下操作:

for ( int i = 0; i < inputs.length; i++ ) {
        System.out.println( String.format( "Input %s was %s", i + 1, inputs[i] ) );
    }
for(int i=0;i
这看起来没问题,如果他们塞满了,然后重新开始。什么工作正常你必须提供一个上下文当我在字符串中键入两次并输入一个数字时,它无法识别紧跟在字符串后面的数字。