我的代码出了什么问题?
运行后,它询问半径值,然后再没有发生? 我可以在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);
}
}
答案 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();