我对Java还是很陌生,我一直在研究一些问题,并且大多数情况都还可以,但是我在这个问题上遇到了很多麻烦,要求我创建一个菜单来查找并显示有关圆的各种信息。我的代码如下:

import java.util.Scanner;

public class Circle2 {

    public static void main(String[] args) {

        final double pi = 3.1416;
        Scanner values = new Scanner(System.in);
        char response;
        double area, perimeter, radius;

        do // put code in loop
        {
            // offer menu of options

            System.out.println();
            System.out.println("*** CIRCLE MENU ***"); // create a blank line
            System.out.println("[1] Set radius");
            System.out.println("[2] Display radius");
            System.out.println("[3] Display area");
            System.out.println("[4] Display perimeter");
            System.out.println("[5] Quit");
            System.out.println("Enter choice [1,2,3,4,5}: ");
            response = values.next().charAt(0); // get response
            System.out.println(); // create a blank line

            switch(response) // process response
            {
                case '1': System.out.println("Enter a value for the radius: ");
                          radius = values.nextDouble();
                            while(radius < 0)
                            {
                            System.out.println("Please enter a non-negative radius: ");
                            radius = values.nextDouble();
                            }
                          break;
                case '2': System.out.println("The radius is " + radius);
                          break;
                case '3': System.out.println("The area is " +  (pi * radius * radius));
                          break;
                case '4': System.out.println("The perimeter is " + (2 * pi * radius));
                          break;
                case '5': System.out.println("Goodbye!");
                          break;
                default:  System.out.println("Options 1-5 only!");
            }

        } while (response != '5'); // test for Quit option
    }
}


我一直遇到的错误是在switch情况下,我尝试将第一种情况放入if语句和其他方法中,但没有任何效果。我试图让用户输入情况1的半径,然后在其余情况下使用该值,但根本无法使用。这可能是我犯了一个非常愚蠢的错误,但是可以得到任何帮助,如果对本文做错了,对不起,这是我的不便,这是我被困了几个小时。

最佳答案

我将您的代码粘贴到Eclipse中。
唯一不起作用的是
以下变量需要初始化:

double area, perimeter, radius = 0;

10-05 18:11
查看更多