-1

ループして配列の合計を合計するようにプログラムを取得しようとしています。私のコードは、text [j]が互換性のないタイプであると述べていることを除いて、機能しているように見えますadding = adding + text[j](データ型を想定しています)。コードの前半に、がありますint adding = 0;。これは誤ったコードです:

for (int j=0;j<=total;j++){
       adding = adding + text[j];
       System.out.println(text[j]);
    }

ここで、合計は制限要因です。私が置く場合:

for (int j=0;j<= total;j++){
       adding = adding + j;
       System.out.println(text[j]);
    }

プログラムはコンパイルされますが、45が返されますが、これは正しくありません。

なぜこうなった?ありがとう!

4

2 に答える 2

1

答えは実際には与えられたコードの外にあることが判明しました。配列を、本来あるべきStringではなく、に設定intしました。

于 2012-10-11T02:46:39.703 に答える
0

あなたのtext[]String[]または名前が示すように、私はあなたが接尾辞またはで要素char[]を更新しようとしていると信じています、それはあなたが次のように書くことができます:text[]jadding

それならchar[]書く

    text[j] = (char)(adding + (int)text[j]);

それならString[]書く

     text[j]= text[j]+adding;

要求に応じ。それはすべて、データ型がtext[]何であり、何を達成しようとしているのかによって異なります。

また、回答の1つで示唆されているように、totalが配列の長さである場合は、比較を<に変更して回避します。ArrayIndexOutOfBoundsException

2番目の例では、値を追加jしますaddingが、値を出力します。これは、との追加とtext[j]は関係ありません。addingj

于 2012-10-11T02:47:27.610 に答える