【发布时间】:2015-01-27 17:48:53
【问题描述】:
早上好!
我的代码的目标是生成所有可能的三个字符串,包括 A-Z 和 0-9。例如,我想要从 AAA 到 999 的所有可能性。
问题:我自己的代码最多只能输出 A99。我的第二个 if 语句没有生成下一步,这让我很困惑。我需要第二个 if 语句才能工作,以便 A99 中的 A 增加到 BAA 并继续前进。
这是我的代码:
{
public static void main(String args[]) {
String[] AZ09 = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
while (z < AZ09.length) {
System.out.println(AZ09[x]+AZ09[y]+AZ09[z]);
z++;
if ((AZ09[y]+AZ09[z]).equals("99") {
System.out.println(AZ09[x]+AZ09[y]+AZ09[z]);
x++;
y = 0;
z = 0;
}
if (AZ09[z].equals("9")) {
System.out.println(AZ09[x]+AZ09[y]+AZ09[z]);
y++;
z = 0;
}
}
解决方案?想法?
请不要重复发布。我尝试了 .equals() 方法,仍然没有骰子
非常感谢!
【问题讨论】:
-
因为你在比较String和
==比较内存地址,所以改用equals方法。 -
我试过了,还是不行。
-
这里的逻辑也有问题。您需要交换 if 语句的位置。目前
A99案例将在第二个之前触发第一个。但是,当输出为999时,您是否还需要一个案例以退出while 循环? -
非常感谢!逻辑!!!! :) 现在完全可以用了!!!
-
@RichardFrank 我建议编辑您的问题以显示
.equals()并在您的编辑完成后标记此问题并说需要删除重复的标签。
标签: java arrays if-statement while-loop iteration