我希望程序显示我的数组是等于零,大于零(正)还是小于零(负),如下所示:

array[0] contains 0
array[1] contains 1
array[2] contans -2


那么输出应该是...

0 ZERO
1 POSITIVE
-2 NEGATIVE


这样的事情。
这是我的代码:

        String display="";

        String size = JOptionPane.showInputDialog("Enter Your Prefered Size Of Your Array");
        int newsize = Integer.parseInt(size);

        JOptionPane.showMessageDialog(null,"You Entered "+newsize+".");

        String array[] = new String[newsize];

        for (int a=0; a<array.length;a++)
        {
            array[a]=JOptionPane.showInputDialog("Enter Value For Array["+a+"].");

        }



        for (int a=0;a<array.length;a++)
        {
            display=display+array[a]+"\n";

            if (array[a].compareTo(array[a])== 0)
            {
              String c = "ZERO";

            }
            else if (array[a].compareTo(array[a])< 0)
            {
                String c = "POSITIVE";

            }
            else if (array[a].compareTo(array[a])> 0)
            {
                String c = "NEGATIVE";

            }

            JOptionPane.showMessageDialog(null,"Arrays\n"+display);


具体的问题是我不知道如何编码以显示ZERO,POSITIVE,NEGATIVE字符串及其对应的数组。

最佳答案

对您的第二个for循环进行一些更改,例如,

    StringBuilder sb = new StringBuilder();
    sb.append("Arrays\n");

    int intValue = 0;
    for (String a :  array) {
        intValue = Integer.valueOf(a);
        sb.append(intValue).append(' ');
        if (intValue == 0) {
            sb.append("ZERO");

        } else if (intValue > 0) {
            sb.append("POSITIVE");

        } else if (intValue < 0) {
            sb.append("NEGATIVE");

        }
        sb.append('\n');

        JOptionPane.showMessageDialog(null, sb.toString());
    }


然后您将获得预期的结果:

10-08 03:17