2016-11-25 3 views
1

Я написал метод в классе, и я хотел бы передать массив массива int 26, чтобы передать его в частотную таблицу, которая является двойной. Затем произошла такая ошибка. Может кто-нибудь мне помочь, я просто студент ...?Java-программирование, тип Casting

Благодаря

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 [3.5] – Nordiii

+0

Вы должны использовать регулярный цикл и индекс в 'Q'. – ChiefTwoPencils

+0

Ehhh Спасибо, действительно, это глупо, но я студент, и я просто участвую в программировании в java, и у меня есть много ошибок, чтобы учиться, спасибо, хотя ^^ –

ответ

0

Вы пытаетесь получить доступ к индексу массива с double значением, что неверно, массивы будут содержать только индексы, такие как 0,1,2, и т.д. ...

Кроме того, вы не сможете использовать для каждого цикла для перебора индексов, поэтому вместо того, чтобы использовать нормальную for петлю, как показано ниже:

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

Я не получил ваш заказ заказанного набора '? Где ОП упомянул об этом? – developer

+0

Ehhh Спасибо, действительно, это глупо, но я студент, и я просто участвую в программировании в java, и у меня есть много ошибок, чтобы учиться, спасибо, хотя ^^ –

0

Вы используете double как индекс массива, который невозможен, поскольку индекс привязан к int примитивному типу, поэтому вы получаете ошибку компиляции.

+0

Ehhh спасибо, действительно, это глупо один, но я студент, и я просто учусь программировать в java, и у меня много ошибок, чтобы учиться, спасибо, хотя ^^ –

+0

не проблема :) –