2014-12-14 3 views
-2

Im новый с программированием и пытался решить эту проблему некоторое время, рассматривал подобные вопросы, но я не понимал, что не так с моим кодом.метод, возвращающий среднее значение двойной матрицы

Таким образом, задание состоит в том, чтобы написать метод, который принимает массив, который имеет в нем три удвоения. Затем верните среднее значение из трех удвоений. Затем напишите главное, которое нужно вызвать, а затем введите метод.

Спасибо!

Главная

public class Tenta131031upg1main { 
public static void main (String[]args){ 

    double []arr ={3.15, 4.41, 7.64}; 

    Tenta131031upg1.genomsnitt(double arr[]); 

    System.out.println(Tenta131031upg1.genomsnitt(arr)); 

} 

} 

Класс

public class Tenta131031upg1 { 

static int i =0; 
static double sammanlagd=0; 
static double genomsnitt=0; 

public static double genomsnitt(double[]arr){ 

    while(i<arr[].length()){       
     sammanlagd = sammanlagd + arr[i]; 
     i++; 
    } 
    genomsnitt = sammanlagd/arr[].length(); 
    return genomsnitt; 

} 
} 

PS. это два разных класса с 1 основным и 1 классом, они не в одном файле!

Ошибка: Ошибка синтаксиса на знак «двойной», новый ожидаемый переменная должна обеспечивать либо выражения измерения или массив инициализатор обр не может быть разрешен к типу

в Tenta131031upg1main.main (Tenta131031upg1main.java: 7)

+4

Ну, что именно проблема? – OldProgrammer

+3

'arr []. Length()' является синтаксической ошибкой, а не единственной. Этот код должен быть заполнен красной маркировкой из вашей IDE. – MightyPork

ответ

0

исправьте две строки в первом файле, как это:

double[] arr ={3.15, 4.41, 7.64}; 

Tenta131031upg1.genomsnitt(arr); 

Вы создавали новый, пустой массив в SECON d.

0

Попробуйте это:

Главная

public class Tenta131031upg1main { 
    public static void main (String[]args){ 

    double[] arr ={3.15, 4.41, 7.64}; 
    System.out.println(Tenta131031upg1.genomsnitt(arr)); 

    } 
} 

Класс

public class Tenta131031upg1 { 

static int i =0; 
static double sammanlagd=0; 
static double genomsnitt=0; 

    public static double genomsnitt(double[] arr){ 

    while(i<arr.length){       
     sammanlagd = sammanlagd + arr[i]; 
     i++; 
    } 
    genomsnitt = sammanlagd/arr.length; 
    return genomsnitt; 

    } 
} 

Изменения:

  • изменения в вызове метода
  • arr.length вместо обр []. Длина()
+0

Помните, что когда вы отвечаете на вопрос «Переполнение стека», вы учите кого-то программировать. Вы должны иметь 'sammanlagd' как локальную переменную, а не поле, если метод' genomsnitt' вызывается дважды. Также очень плохой метод для класса иметь метод и поле с таким же именем. –

+0

Согласовано. Будем иметь в виду будущего сэра! Воздержался от внесения слишком большого количества изменений, поскольку я предположил, что может быть какая-то причина, почему ОП не имела переменной как локальную. – Playmaker

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