java代码在cmd中可以运行,在eclipse中出错

public class daodishi
{
public static void main(String[] args)
{
int a=5,b=6;
(++a==b--)?++a:--b;
System.out.println(a+""+b+"");
}
}

在cmd中运行结果是1
在eclipse中出错:
错误4项
1.标记“)”上有语法错误,删除此标记 wcb daodishi.java 第 6 行 1266996804140 30
2.赋值的左边必须是变量 wcb daodishi.java 第 6 行 1266996804140 29
3.语法错误,将“)”插入到完整 表达式 中 wcb daodishi.java 第 6 行 1266996804140 31
4.语法错误,将“AssignmentOperator 表达式”插入到完整 表达式 中 wcb daodishi.java 第 6 行 1266996804140 32

改成这样
public class daodishi {
public static void main(String[] args){
int a=5,b=6;
int c=(++a==b--)?++a:--b;
System.out.println(c);
}
}
三元表达式不能单独成一句话。
他会返回个值,把他赋给变量,问题解决
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-02-24
看看eclipse的JDK有没有设置正确
第2个回答  2010-02-24
首先看eclipse能运行其它JAVA程序不,如果能运行说明eclipse没问题;
再看看同一个文件夹下其它类有没有重名,JAVA不允许重名的。
第3个回答  2010-02-24
试试把(++a==b--)?++a:--b;改为int c=(++a==b--)?++a:--b; 原因未知 呵呵
第4个回答  2010-02-24
int a=5,b=6;
int c = (++a==b--)?++a:--b;
System.out.println(a+""+b+"");
具体原因不知道,应该是Eclipse编译器的问题吧。
相似回答