Java CircleArea有什么问题?

时间:2015-07-27 06:36:32

标签: java

我的代码出了什么问题?

运行后,它询问半径值,然后再没有发生? 我可以在google上搜索它,但我只是想知道这段代码有什么问题:)

package javaapplication1;
import java.util.Scanner;
public class CircleArea {
    public static void main(String args[]) {
        System.out.println("Enter radius value ");
        Scanner input = new Scanner(System. in );
        input.nextLine();
        String radius;
        radius = input.nextLine();
        double r;
        r = Double.parseDouble(radius);
        double circleArea;
        circleArea = r * Math.PI * r;
        System.out.println("CircleArea :" + circleArea);
    }
}

2 个答案:

答案 0 :(得分:2)

您有两个nextLine语句,删除第一个

Scanner input = new Scanner(System.in);
// This is waiting for input, but the value is ignored
//input.nextLine();

// This is waiting for input and stores the result
String radius;
radius = input.nextLine();

答案 1 :(得分:1)

您正在调用input.nextLine()而不为其分配值,然后等待第二次输入。而不是下一行使用nextDouble()这样你将保存转换并直接获得一个双变量。

实施例:     删除行:

Scanner input = new Scanner(System. in );
input.nextLine(); // This one here

更改从输入中获得双精度的方式:

double radius = input.nextDouble();