0

円、四角形、または三角形を選択するようにユーザーに促し、対応する寸法を尋ね、その領域をユーザーに表示するプログラムを作成しようとしています。

リターンとスイッチのいくつかのインスタンスを使用しましたが、それが私が台無しにしたところだと思います。

package shapearea;

import java.util.Scanner; //global scanner


public class ShapeArea {     
    public static void main(String[] args) {
       int menuOption;
       double area;

   menuOption = showMenu();
   area = processShapeOption(menuOption); 
   displayArea(area, menuOption);


}//end main

public static void displayArea(double area, int menuOption) {
   switch (menuOption) {
       case 1: System.out.printf("The area of the circle is: %.3f\n ", area);
          break; 
       case 2: System.out.printf("The area of the rectangle is: ", area);
           break;
       case 3: System.out.printf("The area of the triangle is: ", area);
           break;
   }//end switch



   }//end displayArea
   public static int showMenu() {
       Scanner scan = new Scanner(System.in);
       int menuOption;

       System.out.println("1. circle");
       System.out.println("2. rectangle");
       System.out.println("3. triangle");
       System.out.print("enter choice:");
       menuOption = scan.nextInt();

       return menuOption;
   }//end showMenu

   public static double processShapeOption(int menuOption) {
       double area = 0;
       switch(menuOption){
           case 1: double radius = getDimension("radius");
                   area = calculateCircleArea(radius);

              break;

           case 2: double length = getDimension("length"),
                      width = getDimension("width");
                   area = areaOfRectangle(length, width);
           break;

           case 3: double base = getDimension("base"),
                      height = getDimension("height");
                   area = areaOfTriangle(base, height);

           break;


   }//end switch

   return area;     
}//end processShapeOption

public static double getDimension(String dimensionType) {
   double dimension;
   Scanner scan = new Scanner(System.in);
   System.out.print("Enter the " + dimensionType + ":");
   dimension = scan.nextDouble();

   return dimension;

   }//end getDimension

   public static double calculateCircleArea(double radius) {
   double area;

   area = Math.PI * Math.pow(radius, 2);

   return area;
}//end calculateCircleArea

public static double areaOfRectangle(double width, double length) {
   double area;

   area = width * length;

   return area;
}//end areaOfRectangle

public static double areaOfTriangle(double height, double base) {
   double area;

   area = .5 * base * height;

   return area;
}

}//end class

円の面積を計算する部分は正常に機能しますが、長方形を選択すると、長方形に加えて三角形の寸法を求められ、面積を表示できません。

編集:休憩を追加

4

2 に答える 2

3

break各ケースの後にステートメントを追加する必要があります。

case 1: {
    doStuff();
    break;
}

また、追加するのを忘れました

"%.3f\n"

ケース 2 および 3 の printf ステートメントに

于 2013-03-07T07:00:51.043 に答える
2

break;each の最後にステートメントを追加する必要がありますcase。チュートリアルはこちら

于 2013-03-07T07:00:10.850 に答える