(выполнять нужно обязательно с функциями, сделать все в main нельзя)
При выполнении кода пользователю приходится вводить данные по 2 раза(2 раза сторону квадрата и радиус круга тоже 2 раза) Я не могу понять почему так происходит. пытался посмотреть через отладчик, но при шаге с заходом он не показывает где и какая выполняется строка в данный момент.
import java.util.Scanner;
public class Main {
public static double inputTetragonside (){
System.out.print("Pls write side of tetragon: ");
Scanner scannerTS = new Scanner(System.in);
return scannerTS.nextDouble();
}
public static double inputRadius () {
System.out.println("Pls write value radius: ");
Scanner scannerRC = new Scanner(System.in);
return scannerRC.nextDouble();
}
public static double TetragonSquare (){
double inputSideTetragon = inputTetragonside ();
System.out.println("Tetragon Square = " + Math.pow(inputSideTetragon, 2));
return Math.pow(inputSideTetragon, 2);
}
public static double CircleSquare (){
double inputRadius = inputRadius();
System.out.println("CircleSquare = " + Math.PI * Math.pow(inputRadius, 2));
return Math.PI * Math.pow(inputRadius, 2);
}
public static double CircleSquare4 (){
double FourCirclesSqure = CircleSquare() * 4;
System.out.println("Square of 4 Circles = " + FourCirclesSqure);
return FourCirclesSqure;
}
public static void result (){
if(TetragonSquare() / CircleSquare4() >= 1)
System.out.println("4 круга не достаточно");
else
System.out.println("4 круга закрыли квадрат");{
double circlescountDouble = TetragonSquare() / CircleSquare();
int circlecount = (int)Math.ceil(circlescountDouble);
if(circlecount == 0 && CircleSquare() > TetragonSquare() ) {
circlecount = 1;
System.out.println("Для того чтобы закрыть квадрат нужно " + circlecount);
}
}
}
public static void main(String[] args) {
result(); //ответ к задаче
}
}