直径,表面和圆周输出的输入半径没有给我输出

时间:2019-04-09 13:17:17

标签: java

我是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();
    }
}

4 个答案:

答案 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)

您在文件底部缺少}

始终确保计算出大括号。

编辑: 您的代码已由其他用户编辑,如果将其弹出到jdoodle,您应该会看到它现在可以使用。

答案 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);