【问题提出】
利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
【程序分析】
(a>b)?a:b这是条件运算符的基本例子。
【代码如下】
public class Prog5{
public static void main(String[] args){
int n=-1;
try{
n=Integer.parseInt(args[0]);
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("请输入成绩");
return;
}
grade(n);
}
private static void grade(int n){
if(n>100||n<0)
System.out.println("输入无效");
else{
String str = (n>=90)?"分,属于A等":((n>60)?"分,属于B等":"分,属于C等");
System.out.println(n+str);
}
}
}
【知识点补入】
1.try{
//代码区
}catch(Exception e){
//异常处理
}
代码区如果有错误,就会返回所写异常的处理。
2.int n = Integer.parseInt(args[0]) 表示给定义的变量n 赋予一个初值为"Integer.parseInt(args[0])";
Integer.parseInt(args[0])中,Integer是java中的一个内置类,parseInt()是这个类的一个静态方法,这个方法的作用是把括号里面的参数(args[0])转为int型的值,比如定义一个String a="123",这时"a"是一个字符串,不能进行数值计算,如果你要让"a"能进行数值计算,你就可以用Integer.parseInt(a)这个函数把"a"转为int型再来进行数值计算。
3.【ArrayIndexOutOfBoundsException异常】编写一个程序,创建一个由100个随机选取的整数构成的数组;提示用户输入数组下标,然后显示元素的值,如果指定的下标越界,显示消息out of bounds。



