2016-11-25 6 views
1

私はクラスにメソッドを書きました。そして、それを倍精度の頻度テーブルに渡すためにint配列div 26をキャストしたかったのです。そのようなエラーが発生しました。誰かが私を助けてくれますか、私はただの学生ですか...?Javaプログラミング、型キャスト

あなたは間違っているdouble値と配列インデックスにアクセスしようとしているおかげで

public void frequency(int[] count ,double [] Q){ 
     for(double arguments : Q){ 
      Q[arguments]=(double)(count[arguments]/26); 
     } 
    } 



Encryption.java:35: error: possible loss of precision 
      Q[arguments]=(double)(count[arguments]/26); 
      ^
    required: int 
    found: double 
Encryption.java:35: error: possible loss of precision 
      Q[arguments]=(double)(count[arguments]/26); 
             ^
    required: int 
    found: double 
+0

アレイにアクセスするviva QがないのでIntegerごとにインデックスを作成する必要があります。[3.5] – Nordiii

+0

通常のforループを使用し、 'Q'にインデックスする必要があります。 – ChiefTwoPencils

+0

Ehhh本当にありがとう、それは愚かなものですが、私は学生です、そして、私はちょうどjavaでプログラムすることを学んでいます、そして、私は学ぶために多くの間違いを持っ​​ています、ありがとう^^ –

答えて

0

、配列は0,1,2、などのようなインデックスをのみ含まれています...また

、あなたは、インデックスを反復処理するために、各 forループを使用し、その代わりに、以下に示すように、通常のforループを使用することはできません。

for(int i=0;i<count.length;i++){ 
     Q[i]=(double)(count[i]/26); 
} 
+0

私はあなたのポイント ' '? OPはどこにそれを言いましたか? – developer

+0

Ehhh本当にありがとう、それは愚かなものですが、私は学生で、私はちょうどJavaでプログラムすることを学んでいます。私は学ぶために多くの間違いを抱えていますが、ありがとう^^ –

0

インデックスがint型のプリミティブ型にバインドされているため、配列のインデックスとしてdoubleを使用しているため、コンパイルエラーが発生しています。

+0

Ehhh本当にありがとう、それは愚かです私は学生ですが、私はちょうどJavaでプログラムすることを学んでいます。私は多くの間違いを覚えています。ありがとう^^ –

+0

問題はありません:) –