Не удается найти символ.. (a.volume является ошибкой и показан в компиляторе, так как не может найти символ, пожалуйста, помогите)

class Method
{   double w,h,d;
    double volume(double w,double h,double d)
    {
        return (h*w*d);
    }
}

class Methodtwo

{

    public static void main(String args [])

    {
        Method a= new Method();
        a.volume(2,3,4);
        double v;
        v=a.volume;
        System.out.println(v);
    }
}

3 ответа

Попробуйте написать что-то вроде этого:

  v = a.volume(2, 3, 4);

Потому что это экземпляр volume должен быть метод.
И попробуй это выучить Java

Перепроверьте свой метод двумя классами. Вы назвали v=a.volume; и это неправильно, потому что volume() Метод требует три параметра. Проверьте исправленный код.

class Method
{   double w,h,d;
    double volume(double w,double h,double d)
    {
        return (h*w*d);
    }
}

class Methodtwo

{

    public static void main(String args [])

    {
        Method a= new Method();
        double v = a.volume(2,3,4);
        System.out.println(v);
    }
}

Проблема в том, что вы не сохраняете результат метода "volume" при вызове a.volume. Происходит следующее:

  • Вы называете a.volume(2,3,4). Метод возвращает 24, но значение нигде не сохраняется.
  • Затем вы определяете double v и пытаетесь установить его в переменную с именем a.volume. Это потому, что у вас нет скобки "()" в конце оператора присваивания v=....

Есть несколько способов исправить это. Одним из способов является:

double v = a.volume(2,3,4)

Другой способ - сохранить значение при вызове a.volume в классе с именем method.

class Method
{   
  double volumeValue
  double volume(double w,double h,double d)
  {
    volumeValue = h * w * d;
  }
}

Затем измените v=a.volume на v=a.volumeValue. Таким образом, Java устанавливает volumeValue при вызове a.volume(2,3,4), а затем v=a.volumeValue просит Java вернуть значение, которое вы сохранили в последний раз.

Другие вопросы по тегам