Java程序中的问题

来源:百度知道 编辑:UC知道 时间:2024/05/01 14:29:15
import javax.swing.JOptionPane;
class GradeLevel{
public static void main(String[] args){
String level;
int grade;
boolean gradeBe0_59;
boolean gradeBe60_70;
boolean gradeBe70_80;
boolean gradeBe80_90;
boolean gradeBe90_100;
String number = JOptionPane.showInputDialog("输入成绩(整数):");
grade = Integer.parseInt(number);

gradeBe0_59 = (grade>=0)&&(grade<60);
gradeBe60_70 = (grade>=60)&&(grade<70);
gradeBe70_80 = (grade>=70)&&(grade<80);
gradeBe80_90 = (grade>=80)&&(grade<90);
gradeBe90_100 = (grade>=90)&&(grade<=100);

level =(gradeBe0_59)?("不及格"):"";
level= (gradeBe60_70)?("及格"):level;
level =(gradeBe70_80)?("中"):level;
level=(gradeBe80_90)?("良"):level;
level=(gradeBe90_100)?("优秀"):level;
JOptionPane.showMessageDialog(null,level,"成绩等级为",
JOptionPane.INFORMATI

String level=""; 这样声明以后,后面就可以这样使用--->
level =(gradeBe0_59)?("不及格"): level;

原因:java安全机制要求一个变量在使用以前必须有初值,如果前面level没有赋初值的话,那么在后面的判断中在分数大于等于60的时候,这时候把一个没有初始化的level变量的值赋给level变量 语法错误!!

这个程序我实在帮不上忙

你想用也可以,但如果有成绩小于0,或者大于100时,就会在弹出对话框显示一个 null 这样的字母,很难看。要避免这个情况,你也可以先把level初始化: level="";这样就可以了;