早上好!
我的代码的目标是生成包含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()方法,仍然没有骰子
非常感谢你!
答案 0 :(得分:0)
你有几个问题:
作为建议,您可以采取其他方式,检查此代码:
public static void main(final String[] args)
{
final long start = Long.valueOf("999", 36);
final long end = Long.valueOf("AAA", 36);
for (long i = start; i <= end; i++)
System.out.println(Long.toString(i, 36));
}
答案 1 :(得分:0)
为什么不尝试使用以下代码? (你的if语句会删除太多可能的输出,这就是你的输出如此之小的原因)
public class Main {
public static void main(String[] args)
{
String[] array = {"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"};
for (int i = 0 ;i<array.length; i++){
for (int j = i ;j<array.length; j++){
for (int k = j ;k<array.length; k++){
System.out.println(array[i] + " " + array[j] + " " + array[k]);
}
}
}
}
}