【发布时间】:2018-04-21 11:11:29
【问题描述】:
我正在尝试解决旧的密码锁程序。问题如下。我已经写了一些代码,但到目前为止,它只打印了一堆可能的组合,这些组合总是包含第一个数字为 36。老实说,我对将它放在需要的位置感到非常困惑。
“假设您需要打开一个标准的密码拨号锁,但不知道密码,也没有一把断线钳。在 BlueJ 中编写一个 Java 程序,其方法可以打印所有可能的密码组合,以便您可以打印把它们写在一张纸上,一边试一边核对一下。假设每个刻度盘上的数字范围是从零到三十六,打开锁需要三个顺序的数字。假设锁不是很好一个和每个数字中与正确数字相差不超过两个的任何数字也可以使用。换句话说,如果组合是 17-6-32,那么 18-5-31、19-4-32、15-8 -33 和许多其他组合也将打开锁。编写另一种方法,打印出您需要尝试确保打开锁的最小组合列表。"
/**
* A method that prints all possible combinations of the lock.
*/
public void combination(int combo)
{
int a;
int b;
int c;
a = 0;
while (a <= 36)
{b = 0;
while (b <= 36)
{c = 0;
while (c <= 36)
{
System.out.println(a + " " + b + " " + c);
c = c + 1;
}
b = b + 1;
}
a = a + 1;
}
}
}
【问题讨论】:
-
我认为 while 循环是 36 总是在第一位的问题?