检查输入数组的输入是否为 correct/incorrect

check if the input entered into array is correct/incorrect

我正在解决一个问题,其中我必须检查输入到数组中的输入是否在 1 到 10000 之间。如果是,我必须继续进行下一组操作。我该怎么做。 请在下面找到我的代码:

Scanner in =  new Scanner(System.in);
    System.out.println("Enter 10 values between 1 and 10000: " );
    for(int i=0; i<10; i++) {
          if (z[i]>1 && z[i]<10000) {
        z[i] = in.nextInt();
        }
    }

但我无法检查我放置在那里的 "if" 语句。你能帮帮我吗

先将输入保存到变量

int num = in.nextInt();

然后验证

if(num>1 && num < 10000) {
   z[i] =num;
}else {
   System.out.printf("Invalid number: %d",num);
}

您想使用以下模式行(伪代码,因为此类问题通常是基于家庭作业和学习的,而不是找到答案和复制)。我想要伟大的未来程序员!

首先设置:

  1. 将变量初始化为您为用户计划的 "What you should enter" 消息。为什么?所以如果你需要改变它,你只有一个地方可以去!
  2. 将变量初始化为您将检测到的任何错误消息
  3. 建立输入流

现在循环:

Issue the "what you should enter" message
Initialize any needed counters
begin the loop (while counters < value?)
   // use try catch to surround your input and calculations to catch malformed integers etc
   try {
       get candidate data element from input stream
       check for validity
         if success increment count, do other needed work
         if fail, reissue "what you should enter" message or more specific error message
   } catch malformed input {
         reissue "what you shoue enter" message, including error for malformed input
   }
end loop

请注意,如果您一直在工作直到出现某些条件(例如用户输入 QUIT),您可以使用该条件(第一次设置为 false)作为循环终止测试