Я изучаю Java в Codeacademy и слежу за их классами для начинающих. Один из них был на отладке. Приведенный ниже код был предоставлен, но я не могу его выполнить, потому что вместо компилятора есть терминал. Я пытался вставить его в другие компиляторы, но потом получаю непонятные мне ошибки. Не могли бы вы помочь мне исправить код, чтобы он скомпилировался и я понял, что означают эти ошибки?
Заранее спасибо!
import java.util.*; public class AreaCalculator1 {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Shape Area Calculator");
while(true) {
System.out.println();
System.out.println("-=-=-=-=-=-=-=-=-=-");
System.out.println();
System.out.println("1) Triangle");
System.out.println("2) Rectangle");
System.out.println("3) Circle");
System.out.println("4) Quit");
System.out.println();
System.out.print("Which shape: ");
int shape = keyboard.nextInt();
System.out.println();
if (shape == 1) {
area_triangle(5,6);
} else if (shape == 2) {
area_rectangle(4,5);
} else if (shape == 3) {
area_circle(4);
} else if (shape == 4) {
quit();
break;
}
}
}public static double area_triangle(int base, int height) {
Scanner keyboard = new Scanner(System.in);
System.out.print("Base: ");
base = keyboard.nextInt();
System.out.print("Height: ");
height = keyboard.nextInt();
System.out.println();
int A = (base * height) / 2;
System.out.println("The area is " + A + ".");
return A;
} public static int area_rectangle(int length, int width){
Scanner keyboard = new Scanner(System.in);
System.out.print("Length: ");
length = keyboard.nextInt();
System.out.print("Width: ");
width = keyboard.nextInt();
System.out.println();
int A = length * width;
System.out.println("The area is " + A + ".");
return A;
} public static double area_circle(int radius) {
Scanner keyboard = new Scanner(System.in);
System.out.print("Radius: ");
radius = keyboard.nextInt();
System.out.println();
double A = Math.PI * radius * radius;
System.out.println("The area is " + A + ".");
return A;
} public static String quit() {
System.out.println("GoodBye");
return null; }}
Результат будет следующим:
Shape Area Calculator
-=-=-=-=-=-=-=-=-=-
1) Triangle
2) Rectangle
3) Circle
4) Quit
Which shape: Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:858)
at java.base/java.util.Scanner.next(Scanner.java:1497)
at java.base/java.util.Scanner.nextInt(Scanner.java:2161)
at java.base/java.util.Scanner.nextInt(Scanner.java:2115)
at AreaCalculator1.main(AreaCalculator1.java:24)