外层加了一个循环为了能循环选择,但是加了之后case9 和default的break不能推出循环了,求解!!!
do {
int i=0;
double area,s,a,b,c=0;
System.out.println("输入要使用的图形 :1.圆形 2.矩形 3.三角形 9.退出");
Scanner sc =new Scanner(System.in);
int x =sc.nextInt();
switch(x)
{
case 1: System.out.println("圆形");
System.out.println("请输入圆形的半径");
Scanner sr = new Scanner(System.in);
Circle.r=sr.nextFloat();
Circle Circle=new Circle();
System.out.println("周长是 "+Circle.CircleSize());
System.out.println("面积是 "+Circle.CircleLenth());
break;
case 2:System.out.println("矩形");
System.out.println("请输入长和宽");
Scanner st = new Scanner(System.in);
Juxing.a=st.nextFloat();
Juxing.b=st.nextFloat();
Juxing Juxing=new Juxing();
System.out.println("周长是 "+Juxing.JuxingLenth());
System.out.println("面积是 "+Juxing.JuxingSize());
break;
case 3:System.out.println("三角形");
System.out.println("请输入边长");
Scanner sc1 =new Scanner(System.in);
System.out.println("输入三角形的三边");
a = sc1.nextInt();
b = sc1.nextInt();
c = sc1.nextInt();
s =(a+b+c)/2f;
double S = (double) Math.sqrt(s*(s-a)*(s-b)*(s-c));// 海伦公式
if (a+b>c && b+c>a && a+c>b)
{
System.out.println(S);
}
else
{
System.out.println("不成立三角形");
}
break;
case 9 :System.out.println("程序退出");
break;
default:System.out.println("输入错误");
break;
}
}while(true);
外层加了一个循环为了能循环选择,但是加了之后case9 和default的break不能推出循环了,求解!!!
兄弟你这谁能看的清啊
死循环了吧,代码能不能发的清楚点
while(true) 死循环, switch case 只是在里面起了作用,你还得想办法让 while 条件什么时候截止啊,
例如迭代器
Iterator<Object> iterator = fields.iterator();
while (iterator.hasNext()){
Object obj = iterator.next();
}
do{...} while(true)为死循环 ,没有跳出循环的条件 ,肯定会一直循环
你这
do{...} while(true);
while条件永远为true循环能结束不是见了鬼