0

次のように、配列がゼロに等しいか、ゼロより大きい (POSITIVE) か、ゼロより小さい (NEGATIVE) かをプログラムに表示させたい:

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 文字列を表示するためにこれをコーディングする方法がわからないことです。

4

1 に答える 1

1

次のように、2 番目の 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());
    }

そして、期待される結果が得られます。

ここに画像の説明を入力

于 2013-11-12T12:37:51.077 に答える