Java 我需要帮助(逻辑)
我的代码没有语法错误,但是当我启动程序时,我在控制台中没有得到我应该得到的消息Java 我需要帮助(逻辑),java,Java,我的代码没有语法错误,但是当我启动程序时,我在控制台中没有得到我应该得到的消息 class verschlüsselung { private static void search(int b, int a) { b = 1; Random r = new Random(); a = r.nextInt(9); System.out.println(a); while (a != b) {
class verschlüsselung {
private static void search(int b, int a) {
b = 1;
Random r = new Random();
a = r.nextInt(9);
System.out.println(a);
while (a != b) {
for (b = 0; b == 9; b++) {
if (b == a) {
System.out.println("found the number " + b);
}
}
}
}
public static void main(String args[]) {
search(0, 0);
}
}
感谢您的解释。循环中的条件应该是
b<9
,否则您永远不会进入循环体。但是,做你想做的事情的最佳方式是:
b = 0;
while (a != b) b++;
System.out.println("found the number " + b);
两个问题:
b<9
切换b==9
(这样,当b小于9时,for循环体将执行)返回代码>语句-否则您可能会陷入无限(while)循环
值得一提的是,现在我们没有了包装
while
循环,即使我们删除了return语句,代码仍然可以工作 首先,您可能会错误地使用for
循环
for(b=0;b == 9; b++)
b==9
是循环必须满足的条件。显然,这个条件永远不会满足,因为在第一步中b=0
所以
实际上,虽然
循环是无用的,但是流就足够了
for(b = 0; b < 9; b++)
{
if (b == a) {
System.out.println("found the number " + b);
break;
}
}
(b=0;b<9;b++)的
{
如果(b==a){
System.out.println(“找到编号”+b);
打破
}
}
不鼓励在类名中使用umlauts。“我在控制台中没有得到我应该得到的消息”您的代码应该做什么?您希望得到什么输出?您的循环仅在a=b
然后在内部检查如果(b==a)
这总是错误的,我期望:1。“a”2。“找到号码+b”但我只得到了“a”为什么你用两个参数调用搜索,你两个都不使用
for(b=0;b == 9; b++)
for (b = 0; b < 9; b++)
while (a != b) {
for (b = 0; b < 9; b++) {
if (b == a) {
System.out.println("found the number " + b);
break;
}
}
}
for(b = 0; b < 9; b++)
{
if (b == a) {
System.out.println("found the number " + b);
break;
}
}