Java:停止" for"环

时间:2018-03-31 12:34:27

标签: java loops for-loop

我正在努力解决有关Java循环的任务。

我们被要求编写一个程序,询问用户输入" int in = input.nextInt"然后每次乘以输入数,直到变量达到100。

DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("AvailableWorkers").child("Carpenters");
Query query=ref.orderByChild("rating").startAt("1");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
   String keys=datas.getKey();
  }
}
  @Override
public void onCancelled(DatabaseError databaseError) {
   }
 });

问题是,该算法允许多值在6到8次乘法中达到100以上。

如果数值超过100,如何配置for循环以限制打印数量?我试图在条件语句中使用布尔运算符,但没有骰子。我肯定在这里遗漏了一些东西。

3 个答案:

答案 0 :(得分:1)

个人偏好 - 但我认为从可读性的角度来看,while循环是更好的选择:

Scanner input = new Scanner(System.in);
int in = input.nextInt();
int x = in; // first iteration outside of the while loop, since x is 0 on init
while(x < 99)                    
{
   System.out.println(x); 
   x = x + in;                 
}

答案 1 :(得分:0)

最好的方法是在x循环中增加变量for

Scanner input = new Scanner(System.in);
int in = input.nextInt();
for (int x = 0; x < 99; x += in) {
    System.out.println(x);
}

答案 2 :(得分:0)

我想说,因为如果数字大于99,你不需要打印数字,你可以写如下

for (int x = 0; x + in < 99; )
{
    x = x + in;
    System.out.println(x);
}

显然这可以优化,但你应该尝试!