Почему я получаю сообщение об ошибке «ошибка: не удается найти символ» - PullRequest
0 голосов
/ 01 июля 2019

Когда я запускаю этот код, я получаю сообщение «ошибка: не удается найти символ». Как мне это исправить?

public class question21
{

   public static void main(String[] args)
   {
   double r=5.0;
   final double PI = 3.14159;
   volume();

   }
   public static void volume()
   {
   double volume=(4.0/3.0)*PI*(r*r*r);
   System.out.println("Volume of a sphere of radius 5 is: " + volume);

   } 
}

Ответы [ 3 ]

1 голос
/ 01 июля 2019

Обе r и PI объявлены внутри main().Таким образом, они не видимы вне этого метода.Что вы можете сделать, это объявить PI на уровне класса:

final static double PI = 3.14159;

и передать r в качестве аргумента volume() (это означает, что вы должны изменить подпись тома):

final static double PI = 3.14159;

public static void main(String[] args) {
    double r=5.0;
    volume(r);
}
public static void volume(double r) {
    double volume=(4.0/3.0)*PI*(r*r*r);
    System.out.println("Volume of a sphere of radius " + r + " is: " + volume);

}
0 голосов
/ 02 июля 2019

В методе volume вы пытаетесь измерить объем, используя PI и r переменные, которые являются локальными переменными в основном методе.

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

0 голосов
/ 01 июля 2019

Вы также можете использовать в математической функции сборки: Math.PI , поэтому вам не нужно объявлять новую переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...