2016-10-10 6 views
-1

Я сделал этот простой код, который объединяет числа и находит среднее значение. Я получаю сообщение об ошибке, указанное в заголовке. Код ниже: может кто-то, пожалуйста, помогите мне с ошибкой, когда мой наставник не смог?Не могу найти символ - переменный ответ

public class MathsQuiz { 

    public MathsQuiz(){ 
     int int1 = 45; 
     int int2 = 56; 
     int int3 = 34; 
     int int4 = 89; 
     int int5 = 4; 
     int answer = 0; 
    } 

    public int add(int int1, int int2, int int3, int int4, int int5){ 
     int answer = ((int1 + int2 + int3 + int4)/int5); 
     return answer; 
    } 

    public static final void main(String[] str){ 
     System.out.println ("MathsQuiz" + " " + answer); 
     MathsQuiz mq = new MathsQuiz(); 
    } 
} 

ответ

0

Проблема заключается в том, что вы ссылаетесь на переменную, которую не объявленную на этой линии:

System.out.println ("MathsQuiz" + " " + answer); 

Я полагаю, вы хотите, чтобы ссылаться на переменную, объявленную в методе add(). Самый простой способ обойти это - вызывать метод напрямую, а не ссылаться на переменную. Например:

public static final void main(String[] str){ 
     MathsQuiz mq = new MathsQuiz(); 
     System.out.println ("MathsQuiz: sum of 1,2,3,4,5" + ":" + mq.add(1,2,3,4,5); 
    } 
+0

Проведите некоторое исследование в следующий раз перед отправкой вопроса здесь. –

+0

ОК, я сделал это, и теперь он выделяет эту строку и говорит «int answer = ((int1 + int2 + int3 + int4)/int5); "java.lang.ArithmeticException: /by zero" , и если я попытаюсь избавиться от этой строки, это испортит остальную часть кода. стр. я сделал какое-то исследование, я просмотрел свою java-книгу и попросил, чтобы мой наставник не смог помочь, поэтому я пришел сюда –

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