如果输入无效,使用递归要求再次输入数据值时,stringbuilder变量将还原为第一个输入,该如何解决?

时间:2019-05-06 06:45:52

标签: java recursion

在此方法中,当重新运行模块时,stringbuilder变量返回到第一个无效值。 testArray方法具有一个长度为3的数组。

我试图通过将length设置为0来清除stringbuilder,但这没用。

public static int[] requestLocation(int testArray[]){
Scanner keyboard = new Scanner (System.in);
System.out.println("Enter a Number 0-2");
    StringBuilder input = new StringBuilder(keyboard.nextLine());
   if(Character.getNumericValue(input.charAt(0)) > 2){
      *System.out.println(input);
      System.out.println("Input is Invalid");
      requestLocation(testArray);
      }
   **System.out.println(input);
   testArray[Character.getNumericValue(input.charAt(0))] = 10;
   return testArray;

如果我运行程序并输入3,它会给我一条错误消息,并要求我再次输入。如果我输入1,将给我一个超出范围的错误。一星的打印语句会给我1,二星的打印语句会给我3

0 个答案:

没有答案