qq_43372180
一只猫の小鱼干
采纳率77.8%
2019-05-09 20:52

这个代码中,该怎样跳出死循环以及判断输入是否为负数?

  • eclipse
  • java
已采纳

图片说明
图片说明
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • hotbeat Micro Will 2年前

    while循环放switch前面 while(m>0)
    if(m<0)print(.....) 判断可以加在int //定义M 的后面

    点赞 评论 复制链接分享
  • libolf libolf 2年前

    你这case 9下的break只是跳出了switch,并没有跳出while(true)循环。。
    解决办法就是把switch判断的M定义在while循环的外部,while循环的条件由true改成M != 9

    判断负数就直接在输入后判断即可,如果是负数那么就跳过这次的循环。

    
    int o = -1;
    Scanner scanner = new Scanner(System.in);
    while (o != 9) {
        System.out.println("请选择图形\n1 圆  2 矩形    3 三角形   9 退出");
        o = scanner.nextInt();
        if (o < 0) {
            System.out.println("输入的是负数");
            continue;
        }
        switch (o) {
            case 1:
                System.out.println("圆");
                break;
            case 2:
                System.out.println("矩形");
                break;
            case 3:
                System.out.println("三角形");
                break;
            case 9:
                System.out.println("退出");
                break;
        }
    
    
    点赞 评论 复制链接分享
  • qq_44515800 美好❀回憶§製造者... 2年前

    多用 break; continue 接口; return;

    点赞 评论 复制链接分享
  • qq_41341751 努力变得优秀 2年前

    while循环语句放错位置了,要循环的只是选择的那部分,你把while语句放到switch语句之前就可以了,顺便再用if判断控制台输入的值M是否为负数。

    点赞 评论 复制链接分享
  • u013254183 老铁咖啡 2年前

    break就跳出了啊,获取输入的值,小于0就为负数

    点赞 评论 复制链接分享