无限循环? Java错误

时间:2018-02-12 05:34:43

标签: java

我是Java的新手,我正在尝试编写代码,该代码将多边形的边数和每边的长度作为输入,并将多边形的面积作为输出。我正在使用的JRE说我的代码不会运行,可能是因为无限循环。我没有看到我的代码中有任何错误,但我有一个未经训练的眼睛所以任何帮助将不胜感激。以下是我的代码。

import java.util.Scanner;

public class Exercise04_05{
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter the number of sides: ");
        double num = input.nextInt();

        System.out.println("Enter the side: ");
        double side = input.nextInt();

        double area = (num*side*side) / (4 * Math.tan(Math.PI / num));

        System.out.print("the area of the polygon is: " + area);
    }
}

2 个答案:

答案 0 :(得分:1)

https://www.jdoodle.com/online-java-compiler接受Stdin输入字段中的标准输入。如果你没有提供任何输入,那么程序将等待很短的时间,然后JDoodle将使用以下输出杀死它:

Enter the number of sides: 


 JDoodle - Timeout -  Some common reasons for Timeout 
Your Program may have a endless loop 
Please check the program and try again or contact JDoodle support at jdoodle@nutpan.com for more info.

添加正确数量的输入时,您的错误消息将消失。它们可以是空格分隔的或换行符。

答案 1 :(得分:0)

我只是简单地处理你刚才更改类名的代码。这是我的代码..

import java.util.Scanner;

public class New{
public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter the number of sides: ");
        double num = input.nextInt();

        System.out.println("Enter the side: ");
        double side = input.nextInt();

        double area = (num*side*side) / (4 * Math.tan(Math.PI / num));

        System.out.print("the area of the polygon is: " + area);
    }
}