A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 94651417 中级黑马   /  2017-4-8 10:55  /  7778 人查看  /  11 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

今天看到一道题目的答案,for循环后竟然没有大括号,还tm可以运行,这是咋回事呢?我给他复制过来,加上了大括号,竟然死循环了……

11 个回复

倒序浏览
沒有大括号只可能是循环体只有一句话。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
情不知所起 发表于 2017-4-8 10:59
沒有大括号只可能是循环体只有一句话。

不是很懂,没人教过
回复 使用道具 举报
回复 使用道具 举报
那应该只能运行下面一行吧
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
没有括号后面的循环体只能有一句,循环体有多句就必须加括号,建议都加,方便阅读
回复 使用道具 举报
没括号,只默认后面一行(以分号结尾的)算循环体内
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
我去,格式都不对还能循环吗?如果可以有一种可能,就是无限循环下一个语句
回复 使用道具 举报
没有加大括号的只能执行一行
回复 使用道具 举报
public class Prog37{
        public static void main(String[] args){
                System.out.print("请输入一个整数:");
                Scanner scan = new Scanner(System.in);
                int n = scan.nextInt();
                scan.close();
                //定义数组变量标识某人是否还在圈内
                boolean[] isIn = new boolean[n];
                for(int i=0;i<isIn.length;i++)
                  isIn[i] = true;
                //定义圈内人数、报数、索引
                int inCount = n;
                int countNum = 0;
                int index = 0;
                while(inCount>1){
                        if(isIn[index]){
                                countNum++;
                                if(countNum==3){
                                        countNum = 0;
                                        isIn[index] = false;
                                        inCount--;
                                }
                        }
                        index++;
                        if(index==n)
                          index = 0;
                }
                for(int i=0;i<n;i++)
                  if(isIn[i])
                    System.out.println("留下的是:"+(i+1));
        }
}
回复 使用道具 举报

贴出来了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马