切换语句而不是if语句

use*_*728 1 java loops switch-statement

我创建了一个带有switch语句的类,它根据用户选择的边数打印出多边形的名称.我无法弄清楚的问题是当一个边小于3且超过12时如何做到这一点.我宁愿使用if语句,但我不能解决这个问题.因为我可以使用一个案例:对于每个12以上的数字,例如案例13:,案例14:等等.我怎么能这样做?

import java.util.Scanner;
public class Lab13 {
    public static void main(String[] args) {
        int sides = 0;
        Scanner scan = new Scanner(System. in );
        System.out.println("Please enter the number of sides of your Polygon");
        sides = scan.nextInt();
        String polygonname = "";
        switch (sides) {
        case 3:
            polygonname = polygonname + "triangle";
            break;
        case 4:
            polygonname = polygonname + "square";
            break;
        case 5:
            polygonname = polygonname + "pentagon";
            break;
        case 6:
            polygonname = polygonname + "hexagon";
            break;
        case 7:
            polygonname = polygonname + "heptagon";
            break;
        case 8:
            polygonname = polygonname + "octagon";
            break;
        case 9:
            polygonname = polygonname + "nonagon";
            break;
        case 10:
            polygonname = polygonname + "decagon";
            break;
        case 12:
            polygonname = polygonname + "dodecagon";
            break;
        }
        System.out.print("A polygon with " + sides + " sides is called a " + polygonname + ".");
    }
}
Run Code Online (Sandbox Code Playgroud)

Ósc*_*pez 5

利用default:在的结束switch,即会照顾所有其他情况下,它像最后elseif / else if / else if声明.写这样:

switch(sides) {

case 3:
polygonname=polygonname+"triangle";
break;

// ...

default:
polygonname=polygonname+"unknown";
break;

}
Run Code Online (Sandbox Code Playgroud)