簡體   English   中英

Java編程,類型轉換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM