我正在努力解决有关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循环以限制打印数量?我试图在条件语句中使用布尔运算符,但没有骰子。我肯定在这里遗漏了一些东西。
答案 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);
}
显然这可以优化,但你应该尝试!