[英]Java Programming , Type Casting
我在類中編寫了一個方法,我想要轉換一個int數組div 26,將它傳遞給一個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
您正在嘗試使用double
值訪問數組索引,這是不正確的,數組將只包含0,1,2等索引...
此外,您將無法使用每個循環來遍歷索引,因此請使用normal for
循環,如下所示:
for(int i=0;i<count.length;i++){
Q[i]=(double)(count[i]/26);
}
您使用double作為數組的索引,這是不可能的,因為索引綁定為int基本類型,這就是您收到編譯錯誤的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.