为什么我们要在while循环后面加一个分号(;
)?
我以以下代码为例:
public static void Register()
{String name,code;
int posStudent,posCourse;
System.out.println("-----------------------------------------------");
System.out.println("Enter the name of the student");
name=in.next();
while ((posStudent=VerifyTheStudentName(name))==-1);
System.out.println("-----------------------------------------------");
System.out.println("The list of available courses is:");
for(int i=0;i<courses.size();i++)
System.out.println(courses.get(i));
System.out.println("-----------------------------------------------");
System.out.println("Enter the course code");
code=in.next();
while((posCourse=VerifyTheCourseCode(code))==-1);
students.get(posStudent).registerTo(courses.get(posCourse));
}
那么在这里做什么呢?
在它是一个空体循环之后带有分号的time或for循环。所有的工作都是由循环条件逻辑/迭代逻辑完成的。所以
while ((posStudent = verifyTheStudentName(name)) == -1);
相当于
while ((posStudent = verifyTheStudentName(name)) == -1) {
}
请不要用空体写循环。读者很容易注意不到分号,认为它后面的语句应该是循环体。
那么,这句话是什么意思?
验证学生姓名(name)
时循环返回-1
postudent
中捕获它
在这样的条件中获取值是一个相当常见的习语。。。
然而,有理由怀疑这个示例代码可能不正确。(如果对同一个参数重复调用同一个函数,每次都会得到相同的结果,导致潜在的无限循环。但这取决于上下文…)
如果while条件完成了所有“工作”,则不需要循环体。
我理解无限的原因。但是为什么它是一个编译器,当我在括号里不使用变量的时候? 这将返回一个无限循环。 这将返回编译器错误。为什么?
我想使用4个线程和信号量来实现游戏。 我设法使线程按照所需的顺序工作:。 然而,我无法使整个过程循环。 每个方法都有自己的信号量,尽管在释放下一个方法信号量之前锁定了自己的信号量,但这些方法只是不挂起第二个获取(实际上是方法中的第一个)。
是一个具有高度、宽度和RGB大小的3D int数组(0=红色,1=绿色,2=蓝色)。 是具有8x8块大小的二维int数组 到目前为止,代码工作正常,因为我得到了一个结果图像。下面是将像素分组为8x8的代码的部分示例(它只显示了2行,因为代码太长)。 有人能识别出这是正确的方法将值分组为8x8块的3D数组的h x w大小吗?原因是,当我测试打印出原始像素和结果像素的值时,我从更高的OFSET中得到结
问题内容: 我的程序从文件中读取一行。此行包含逗号分隔的文本,例如: 我希望拆分的结果是这样的: 如果使用,我将得到: 换句话说:子字符串中的逗号不是分隔符。该如何处理? 问题答案: 你可以尝试以下正则表达式: 这将分割字符串,,后跟偶数双引号。换句话说,它用双引号引起来的逗号分隔。如果你在字符串中使用了引号,则此方法将起作用。 说明: 你甚至可以在代码中使用正则表达式使用修饰符来键入此类内容。修
问题内容: 我可以使用分号在Python中加入行,例如 但是为什么我不能这样做 问题答案: 简短的(至今有效的)答案只是“因为未定义语言语法以允许它”。至于为什么 这是 的话,就很难,如果除非你问任何人与语法的部分来了,但我想这是由于可读性,这是Python的目标之一并非不可能,以确保1。 你为什么要写像这样晦涩难懂的东西?只需将其分成多行: 我认为这种变体要清晰得多。 1自: 可读性计数。
我的代码: 一切正常,但我不能让循环在任何地方工作。