public class A{
public static void main(String args[]){
int hour;
int input=13;
((input>=0)&&(input<=24))?hour=input:hour=0;
System.out.println("Hour"+hour);
}
}
上面的源程序没错吧,怎么编译时总提示?处有错呢。
原题是:检查输入数据input是否是合法的小时数(在0到24之间),如是则将此值赋给变量hour,否则将-1赋给变量hour。
public static void main(String args[]){
int hour;
int input=13;
((input>=0)&&(input<=24))?hour=input:hour=0;
System.out.println("Hour"+hour);
}
}
上面的源程序没错吧,怎么编译时总提示?处有错呢。
原题是:检查输入数据input是否是合法的小时数(在0到24之间),如是则将此值赋给变量hour,否则将-1赋给变量hour。
{
int hour = 0;
int input = 13;
hour = ((input >= 0) && (input <= 24)) ? input: -1;
System.out.println("Hour" + hour);
}
int hour 在申明时不需要赋值,你的写法是对的,我的写法是多余的。
因为 int型 自动赋值为 0 。
hour=((input>=0)&&(input<=24))?input:-1;