当前位置: 代码迷 >> Java相关 >> java 学习。三目运算异常 与 调用方法异常
  详细解决方案

java 学习。三目运算异常 与 调用方法异常

热度:26   发布时间:2016-04-22 21:02:04.0
java 学习求助。三目运算错误 与 调用方法错误
public class Test{
public static void main(String[] args){
int num[]={1,3,4,5,6,7,6,4,6,5};
int a=9,b=8;
prin (a,num[]);
prin (b,num[]);
}
public static void prin (int d,int sz[]){
for (int c=0;c<sz.length;c++){
if(d==sz[c])x++;
}
if (x>0) System.out.println(d+"是数组"+sz+"中的元素");
else System.out.println(d+"不是数组"+sz+"中的元素");
}
}
编译提示5,6行需要.class
另外我尝试用三目运算来写一个选择输出。编译提示不是语句。
public class Te{
public static void main(String[] args){
int x=0,y=2;
               x>y?System.out.print(x):System.out.print(y);
}
}
才学习几天。问题很基础。希望大家能给我指出错误!谢谢了!
------解决方案--------------------
 条件表达式不能取代一般的if语句,仅当if语句中内嵌的语句为赋值语句(且两个分支都给同一变量赋值)时才能代替if语句。
你可以这么写:System.out.println(x>y?x:y);
或者用if语句写:if(x>y){
System.out.println(x);
}else{
    System.out.println(y);
  }
这个自己多搜搜,网上都有的。而且你也实验出来了,没什么好怀疑的,我也是刚刚开始学java,加油吧
------解决方案--------------------
你是数组那块书写错误,下面是我修改后的运行结果


public class Test{
public static void main(String[] args){
int[] num={1,3,4,5,6,7,6,4,6,5};
int a=9,b=8;
prin (a,num);
prin (b,num);
}
public static void prin (int d,int sz[]){
int x=0;
for (int c=0;c<sz.length;c++){
if(d==sz[c]){
x++;
}
}
if (x>0) 
System.out.println(d+"是数组"+"中的元素");
else 
System.out.println(d+"不是数组"+"中的元素");
}
}


可以参考下,我也刚学不久。有不足之处望指出。
  相关解决方案