Вот задание я должен сделать для школы:Вызов один метод в другой
- Создать новый проект с именем AreaCircle
- Скопировать метод расстояния из раздела 5.2
- Скопируйте метод площадь для кругов из упражнение 4.2. Измените его, чтобы вернуть область, а не , чем печать.
- Создайте другой метод области для кругов, который принимает две точки (четыре целочисленных параметра: x1, x2, y1, y2) и возвращает двойной. Убедитесь, что оба метода имеют одинаковое имя. Поскольку параметры будут отличаться, то тот, который выполняется, будет зависеть от переданных параметров . В этом новом методе области вызовите метод расстояния, чтобы получить радиус круга.
Затем вызовите метод ДРУГИЕ (оригинальные) области, чтобы получить площадь круга. - Вам нужно будет сделать пару изменений, чтобы вы не потеряли ошибку компилятора.
- В главном запросите пользователя четыре целых числа, которые представляют точку на внешней стороне окружности и центральную точку круга (они будут использоваться для определения длины радиуса). Вызовите метод соответствующей области. Отобразить результат.
Я не уверен, если мой код правильно, но, очевидно, есть что-то неправильно, потому что это не работает ...
public static void main(String[] args) {
Scanner reader;
reader = new Scanner (System.in);
System.out.println("Please enter the coordinates of a circle:");
newLine();
System.out.println("Outside point:");
newLine();
System.out.println("x1:");
int x1 = reader.nextInt();
newLine();
System.out.println("y1:");
int y1 = reader.nextInt();
newLine();
System.out.println("Center Point:");
newLine();
System.out.println("x2:");
int x2 = reader.nextInt();
newLine();
System.out.println("y2:");
int y2 = reader.nextInt();
}
public static void area(double radius, int x1, int x2, int y1, int y2)
{
double areaCircle = (Math.PI * area(x1, x2, y1, y2) * area(x1, x2, y1, y2));
}
public static double area(int x1, int x2, int y1, int y2) {
double radius = distance (x1, y1, x2, y2);
return radius;
}
public static double distance(int x1, int y1, int x2, int y2)
{
double dx = x2 - x1;
double dy = y2 - y1;
double dsquared = dx*dx + dy*dy;
double result = Math.sqrt (dsquared);
return result;
}
//NewLine Method
public static void newLine() {
System.out.println ("");
}
Измените 'area (x1, x2, y1, y2) * area (x1, x2, y1, y2)' на 'Math.pow (область (x1, x2, y1, y2), 2' так, t должен оценивать его дважды. Кроме того, функция области никогда не вызывается. Кроме того, ей, вероятно, нужно возвратить 'areaCircle'. Кроме того, нет необходимости в 2-х областях. – Dukeling
Вы не можете быть серьезными ... пожалуйста, объясните, что «не работает». Ожидаемый результат против фактического? И эти инструкции вызывают потерю точности ошибки компилятора? Это ошибка времени выполнения, а не ошибка компилятора. – bcsb1001
Слушайте, я спросил это 2 года назад, когда я был старший в средней школе, JUST узнает, как закодировать. Извините меня за недостаток знаний в этом вопросе. Рад, что вы считали необходимым поставить свои два цента. – user2105795