【问题标题】:How do I populate an array with palindromes using a loop?如何使用循环填充回文数组?
【发布时间】:2014-04-17 00:45:14
【问题描述】:

第一次在这个网站上和第一个 java 类。我被困在试图用回文填充数组。我已经尝试了一切,但没有运气。我做错了什么?

这是我目前编写的代码。

public class PalindromeListArray
{
    public static void main(String[] args)
    {
        //Declare variables.    
        int digit1, digit2, digit3, digit4, digit5;
        final int MAX = 10;
        int x=0;
        //Create an array of size 25.
        String[] palindromeList = new String[25];
        //Generate numbers.
        for (digit1 = 1; digit1 < MAX; digit1++)
           for (digit2 = 0; digit2 < MAX; digit2++)
              for (digit3 = 0; digit3 < MAX; digit3++)
                 for (digit4 = 0; digit4 < MAX; digit4++)
                    for (digit5 = 0; digit5 < MAX; digit5++)
                        if (digit1 == digit5 && digit2 == digit4)
                            for(x=0; x < palindromeList.length; ++x){ 
                                //Populate array with palindromes.
                                palindromeList[x] = String.valueOf(digit1) + String.valueOf(digit2) + String.valueOf(digit3) + String.valueOf(digit4) + String.valueOf(digit5);
                                System.out.println(x + "\t" + palindromeList[x]);
                            }
    }
}

【问题讨论】:

  • 为什么需要内部 for 循环?似乎您只想在最里面的 if 中使用palindromeList[x] = ...; x++;
  • 是的。删除 for x=0 循环并使用 palindromeList[x++] = String.valueOf(digit1... 并包含一个测试以保持 x
  • 一旦数组中有 25 个元素,我将尝试停止生成数字。我已经尝试过放置最后一个循环,结果不同,但没有成功。当我按照你的建议做时,我得到一个 ArrayIndexOutOfBoundesException。
  • 太棒了!我在 palindromeList[x] = ... 之前添加了一个 if 测试,它起作用了。我不敢相信它这么简单。谢谢!!
  • 但是你也“丢失”了“for x = 0...”循环,不是吗?

标签: java arrays loops nested


【解决方案1】:

按照这些思路:

...
  if(x == palindromeList.length) break;
  palindromeList[x++] = String.valueOf(digit1) + String.valueOf(digit2) + ...
}
for(int i = 0; i < x; i++)
   System.out.println(i + "\t" + palindromeList[i]);
...

你在棒球场。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多