java - 如何编写一个程序,可以不断地要求用户输入,直到输入满足运行代码的特定要求?

标签 java if-statement return

我必须编写一个程序,首先请求 0 < N < 20 范围内的整数。超出此范围的数字将被拒绝,并发出新的请求。输出从 1 开始到 N 结束的数字序列的和。 我已经获得了大部分代码,但我无法连续要求用户输入,直到输入满足要求。我尝试在第 11 行中使用“return”,但是,在获得另一个输入后它不会返回循环。我现在应该做什么?

import java.util.*;
class ExamTesterNine{
  public static void main(String args[]){
   Scanner kbReader= new Scanner(System.in);
   int num=kbReader.nextInt();
   System.out.println("Enter an integer smaller than 20 and larger than 0");
   int result;
   int sum=0;

   if (!(num>0&&num<20)){
     return;
   }else{
     for(int i=1; i<=num; i++)
   sum=sum+i;

   int [] number= new int [num];
   for (int a=0; a<(number.length-1); a++ ){
     number[a]=a+1;
     System.out.print(number[a]+"+");}
   System.out.print(num+"="+sum);
   }

  }
}

最佳答案

使用 do-while 应该很容易。我现在不在我的编译器上,但是如果您使用扫描仪,您应该在代码中添加此内容

import java.util.*;
class ExamTesterNine{
public static void main(String args[]){
Scanner kbReader= new Scanner(System.in);
int num = 0;
System.out.println("Enter an integer smaller than 20 and larger than 0");
  do{
     num=kbReader.nextInt();
   } while(num<0 && num <20);

   int result;
   int sum=0;

   for(int i=1; i<=num; i++)
   sum=sum+i;

   int [] number= new int [num];
   for (int a=0; a<(number.length-1); a++ ){
     number[a]=a+1;
     System.out.print(number[a]+"+");}
   System.out.print(num+"="+sum);
   }

  }
}

如果没有,请告诉我,我可以快速进入编译器,但是 do-while 是您的解决方案。

关于java - 如何编写一个程序,可以不断地要求用户输入,直到输入满足运行代码的特定要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54339445/

相关文章:

java && on if语句不起作用

swift - 为什么 Xcode 在我的 'Will never be executed' 子句上显示警告 'if'?

mysql - 如果 MySQL 存储过程中的条件未正确评估

c++ - 数组在执行代码时不显示任何内容

java - 权限 oracle jdbc getMetaData

java - 无法按日期查询或扫描 DynamoDb

java - java中的分割词

c - 通过指针从 C 和 C++ 中的函数返回本地数据

javascript - 函数返回空数组

java - 你如何在java中为游戏加倍缓冲?