2013-09-17 3 views
0

Я не понимаю, почему я получаю эти ошибки, когда компилирую свой код.Проблема с многомерной матрицей Java

Ошибка: F: \ G \ програма: оператор * не может быть применен к Int, двойной []

Ошибка: F: \ G \ програма: оператор - не может быть применен к двойной, двойной []

import java.io.*; 

public class programA 
{ 
    public static void main (String [] args) throws IOException 
    { 
    BufferedReader myInput = new BufferedReader (new InputStreamReader (System.in)); 

    int points = 100, dimension = 3; 

    double [] length; 
    length = new double [dimension]; 

    double [][] loc; 
    loc = new double [points][dimension]; 

    for (int x = 0; x < points; x++){ 
    for (int y = 0; y < dimension; y++){ 
    location [x][y]= (Math.random() * (2 *length)) - length; 
    } 
    } 

    } 
} 

ответ

1

Поскольку код разве ясно, я предполагаю, что вам нужно

loc [x][y]= (Math.random() * (2 *length[y])) - length[y]; 

Математические операции не может быть сделано между массивом и числом.

+0

Скорее он нуждается в 'length [y]', а не 'length [dimension]', который получит исключение из-за границы – ajb

+0

Edited, Thanks! :) – phntmasasin

3
2 *length 

Вы умножаете массив на int. Не произойдет. Код вокруг этого несколько неясен, но поскольку вы пытаетесь установить один элемент массива, вы захотите получить один элемент из length, например, length[0] или length[someIntInRange].

Также location [x][y] должен быть loc[x][y], так как нет поля, называемого местоположением.

0

I don't understand why i'm getting these errors when i compile my code.

Error: F:\G\programA: operator * cannot be applied to int,double[]

Error: F:\G\programA: operator - cannot be applied to double,double[]

Вы пытаетесь Умножая int и позже double против массива типа double. Это невозможно. Если вы хотите размножаться со всеми значениями в массиве, вам нужно перебрать его для этого.

0

Ваша проблема неопределенная операция здесь ...

double [] length; 
length = new double [dimension]; 
... 
(2 *length) 

Вы должны выбрать значение из массива длины.

Смежные вопросы