我正在使用带有do while循环的条件语句。我希望每当编译器运行程序时它应该在“IF”中打印语句,直到它达到少于15,发生的事情就是在do-while循环中作业进展顺利但是只在“IF”中的语句打印一次?我哪里错了。如果有人解释这个流程,我会非常感激,因为我是初学者。请参阅下面的代码:
package loopexamples2;
public class DoWhileLoop {
public static void main(String[] args) {
int n = 1;
if(n<15)
System.out.println("print value of n is equal to"+ n);
do {
System.out.println(n);
n++;
}
while(n<10);
}
}
输出 - &GT; n的打印值等于1 1 2 3 4 五 6 7 8 9
答案 0 :(得分:3)
你的if语句不在你的do while循环之外。把它放在do {}块
中package loopexamples2;
public class DoWhileLoop {
public static void main(String[] args) {
int n = 1;
do {
if(n<15) {
System.out.println("print value of n is equal to"+ n);
}
System.out.println(n);
n++;
}
while(n<10);
}
}
答案 1 :(得分:1)
你正在寻找更接近这个的东西:
while(n<15) {
System.out.println("print value of n is equal to"+ n);
n++
}
{
和}
中的代码块会一直运行,直到n
达到大于或等于15的值。
使用当前代码,完整的print语句只输出一次,因为它不包含在while
循环中。
答案 2 :(得分:0)
我想这就是你想要的:
package loopexamples2;
public class DoWhileLoop {
public static void main(String[] args) {
int n = 1;
do {
System.out.println("print value of n is equal to"+ n);
n++;
} while(n<10);
}
}
代码流程:
int n = 1;
将n指定为1
do {
从这里到大括号之间重复代码,直到while
。
System.out.println("print value of n is equal to"+ n);
打印print value of n is equal to1
n++;
n加1,所以n = 2
} while(n<10);
n&lt; 10?是的,请从do
System.out.println("print value of n is equal to"+ n);
打印print value of n is equal to2
n++;
n加1,所以n = 3
} while(n<10);
n&lt; 10? n = 3是的,从do
重复
[......同样的事情重复直到......]
System.out.println("print value of n is equal to"+ n);
打印print value of n is equal to9
n++;
n加1,所以n = 10
} while(n<10);
n&lt; 10? n = 10所以不,退出循环。
计划结束。
答案 3 :(得分:0)
IF中的语句只传递一次。因为它不在任何循环内。
程序的流程是程序性的。所以执行是从上到下。它首先通过IF块,执行它,前进到下一行,找到do-while块,它是循环,直到满足while条件。循环只迭代它的块而不是它之前的行。
答案 4 :(得分:0)
我解释了工作流程,因为你是初学者:
int n = 1;
1已分配给n
。
if(n<15)
System.out.println("print value of n is equal to"+ n);
程序检查n是否小于15.情况就是如此,所以它执行动作:print“n的打印值等于”+ n。它只做了一次。重复执行循环不是一次或一次for循环。
do {
System.out.println(n);
n++;
}
while(n<10);
}
这里程序执行{和}之间的所有内容,直到n = 10。
你说“它应该在”IF“中打印语句,直到它达到15”以下
然后你需要一个类似的do / while循环:
do {
System.out.println("print value of n is equal to"+ n);
n++
}
while (n<15);
答案 5 :(得分:0)
我希望每当编译器运行程序时它应该在“IF”中打印语句,直到它达到15以下
由于您在n<10
循环中使用do while
条件,因此循环不会超出n=9
。所以它不会达到n=15
。
答案 6 :(得分:0)
首先你需要把if()
语句放在do while循环中。否则程序只会看到if。
您正在做的下一件事是在您的陈述中:
do {
System.out.println(n);
n++;
}
while(n<10);
你只有n
小于10,你希望它小于15。
我认为你也不打算打印15,所以你可以改变
while(n < 10)
到
while(n <= 15)
所以你的代码就像这样:
package loopexamples2;
public class DoWhileLoop {
public static void main(String[] args) {
int n = 1;
do {
if(n <= 15){
System.out.println("The value of n is equal to " + n);
n++;
} while(n <= 15);
}
}
注意<=
表示“小于或等于”
答案 7 :(得分:0)
你可以随时推荐这个...... 这会对你有所帮助..
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/flow.html