我是Java的初学者,遇到了问题。我有一个与java.util.scanner
类相关的作业,您可以在radius
中放置console
的值,并获取直径,表面等作为输出。
我的问题是,我可以输入半径值,但没有给我所需的直径等值,只有文字。
import java.util.Scanner;
public class Lab1_Aufg1
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.println("Enter Radius: ");
double Radius = s.nextDouble();
double durchmesser;
double umfang;
double flaeche;
durchmesser = Radius * 2;
umfang = 2 * Math.PI * Radius;
flaeche = Math.PI * Radius*Radius;
System.out.println("Durchmesser = " durchmesser);
System.out.println("Umfang = " umfang);
System.out.println("Fläche = " flaeche);
s.close();
}
}
答案 0 :(得分:2)
您需要将s.Next()
更改为s.nextDouble()
才能获得双重输入。另外,您需要在变量和字符串之间放置一个+
而不是一个空格:
System.out.println("Durchmesser = " + durchmesser);
答案 1 :(得分:2)
所有已解决的问题均使用此代码,它将起作用:
import java.util.Scanner;
public class stackCircle
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.println("Enter Radius: ");
double Radius = s.nextDouble();
System.out.printf("Durchmesser = %.2f\n" , Radius * 2);
System.out.printf("Umfang = %.2f\n" , 2 * Math.PI * Radius);
System.out.printf("Fläche = %.2f\n" , Math.PI * (Radius*Radius));
s.close();
}
}
注意:我添加了%.2f
,这将使您的输出最多显示2 decimal positions
的结果。使用default
8 decimal places
可以轻松阅读。希望能帮助到你。
答案 2 :(得分:2)
答案 3 :(得分:1)
您需要将Next()
更改为nextDouble()
才能获得双精度输入。
此外,可以使用Java中的String
运算符附加+
对象。您需要确定如何在System.out.println()
语句中附加字符串:
System.out.println("Durchmesser = " + durchmesser); // Need to add the '+' symbol
System.out.println("Umfang = " + umfang);
System.out.println("Fläche = " + flaeche);