标记else上有语法错误,删除此标记:什么意思哇 ?

import java.util.*;
public class yc{
public static void main(String args []){
Scanner in =new Scanner(System.in);
int o=in.nextInt();
if (o%2==1);
System.out.println(o+"是偶数");
else
System.out.println(o+"是奇数");

}
}

java语音的语句以分号(;)为结束符。

当执行遇到结束符时,执行下一个语句。


if与else搭配使用,提问的代码中,if条件后面多了一个分号,如果没有后面的else,是没有语法错误的,如果没有语句内容,只有一个结束符,表示执行空语句。

针对提问代码,只需将 if(o%2==1)后面的分好删除即可。

为了避免类似错误发生,建议:

    保持良好的代码编写对齐风格,缩进对齐有利于检查执行边界。

    类似if...else...还有如try...catch...等,不管执行代码是一行还是多行,都加上{},便于代码检查和阅读。


代码修改如下:

import java.util.*;
public class yc{
    public static void main(String args []){
        Scanner in =new Scanner(System.in);
        int o=in.nextInt();
        if (o%2==1){

            System.out.println(o+"是偶数");

        }
        else{ 

            System.out.println(o+"是奇数");
        }
    }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-04
if (o%2==1) // 后面多一个;
System.out.println(o+"是偶数");
else
System.out.println(o+"是奇数");本回答被提问者采纳
第2个回答  2019-10-01
if
(o%2==1)
//
后面多一个;
System.out.println(o+"是偶数");else
System.out.println(o+"是奇数");
到Live天空之城!网站查看回答详情>>
相似回答