if语句后面可以加无限个分号,系统均不会报错,而if语句块的语句均会执行。
已经给这个问题折腾了两次。
public static void main(String[] args)
{
int e;
int a;
do
{
e = 0;
System.out.print("请输入一个五位数:");
Scanner sc = new Scanner(System.in);
a = sc.nextInt();
if (a < 0 || a >99999);//这里,多了一个;号!!!写程序要小心啊!!
{
System.out.println(a);
System.out.println(a < 0 || a >99999);
System.out.println("该数不是五位数,请重新输入:");
e = 1;
}
}
while (e == 1);
}上述中,由于if(a < 0 || a > 99999)的后面多了个分号,语句块的语句无论如何都能执行。
这样的问题太小,也最能折腾人。
实际中,得严格小心,并有这样的意识,才能避免犯最细小低级的错误。
本文深入探讨了一次因在 if 语句后面多加分号而导致的程序执行意外行为的问题。通过具体实例分析,强调了编程时对于细节的严谨态度和对常见陷阱的认识至关重要,以避免低级错误导致的时间和资源浪费。
874

被折叠的 条评论
为什么被折叠?



