在学习一个猜字符的小游戏,这个break跳出循环的部分怎么理解?

我百度到的说for嵌套if语句的break,是终止for循环,
那这里就应该是跳出了for(int j=0;j<chs.length;j++)这个循环,这个跳出循环是直接跳出该for循环,
去执行外面的那个循环for(int i=0;i<input.length;i++),执行i++,再判断i<input.length,
而不再执行j++,然后判断j<chs.length,了吗?

还是会继续j++,执行这个for(int j=0;j<chs.length;j++)循环

代码如下;

    /**
     * 比较玩家输入的字母序列和程序所生产的字母序列,逐一比较字符和位置,并记载比较结果
     * @param chs     程序生成的序列
     * @param input    玩家输入的字符序列
     * @return 存储比较的结果,返回值int数组的长度为2,其中,
     * 索引为0的位置用于存放完全猜对的字母个数(字符和位置均正确),
     * 索引为1的位置用于存放才对的字母个数(字符正确,但是位置不正确)
     */
    public static int[] check(char[] chs,char[] input) {
        int[] result=new int[2];
        for(int i=0;i<input.length;i++) {
            for(int j=0;j<chs.length;j++) {
                if(input[i]==chs[j]) {
                    result[1]++;
                    if(i==j) {
                        result[0]++;
                    }
                break;
                }
            }
        }
        return result;

    }


5个回答

只是终止上次循环用。

你好,若条件成立触发了break,则会跳出当前内循环for(int j=0;j<chs.length;j++) ,继续执行下一个外循环for(int i=0;i<input.length;i++),i的值+1,此时j重新被赋值0,进入下一个内循环。

针对你的困惑 只需要明白两点即可:①j++那部分是作为for的整体,break是跳出for循环,自然不会再执行j++,可见这点你需要知道
②break跳出循环之后是执行循环后面的语句,所以根据这点,理所应当的执行i++

当条件满足input[i]==chs[j]时候,结束 for(int j=0;j<chs.length;j++) 这一层的循环,继续int i=0;i<input.length;i++这一层的循环
比如
for(a循环10次){
for(b循环20次){
if(b循环到5次){
break;

}
}
}
没有break的话,每次a循环,b循环都会循环20次,有了break,当b循环到第5次就不再循环剩下的15次,重新开始a的循环

只会终止本次的内循环

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

7
前端 jquery 中将字符串转成一个一个字符的形式放入data中
6
关于比较字符串函数strcmp()
5
字符串比大小的问题,这里不明白
7
mysql怎么查每个字符都相同的字符串
3
怎么样对一个遍历一个不规则字符串数组,找到每列中最长字符串的大小
2
Python如何判断一个字符串是否一个字典中存在的英文单词?
4
怎么javascrpt语言实现将一个字符串转换为多个字符串构成的数组并且判断每个字符串的数组?
1
javascript多维数据数组的转换是怎么进行循环和判断的,怎么直接判断转换以后的字符串?
3
js字符串数组循环传入span标签
1
如何利用键盘输入字符来跳出一个循环输出的while语句?
6
在html前端页面中密码输入框,输入一个字符显示明文,过一秒后再变*号的效果如何用js实现
1
怎样用JAVA编写一个控制台程序,实现学生注册功能,要求有数组、字符串、循环、包装类、数字处理类?
0
kettle如何将json输出到一个表中的一个字段里(作为一个长字符串)(text类型)
2
求助一个Python 循环读取文件,并对读到的字符串进行赋值,然后进一步生成json file 的方法。
2
C语言三个字符,按各字符的ASCII码从小到大的顺序输出这三个字符
2
C++如何判断下一个读取字符的类型?
3
怎么在javascrpt里从字符串里取一个最大的数字,字符串具体如下
1
javascrpt语言里读取一个字符串,然后再分割成单个的字符,放在不同的表单
3
C++ 用指针数组处理若干个字符串,要求去除其中重复的字符串,每种字符串只保留一个。
5
一个关于字符串函数问题