这是在我的机子上的结果:
C:\cs>javac GPA.javaC:\cs>java GPA
Student Name: TIGER TIGER
Studnet Number: 1
GPA = 0.0
Warning, you may be failing.
Student Name: PIGGY PIGGY
Studnet Number: 1
GPA = 0.0
Warning, you may be failing.
*** End of processing ***再仔细看看

解决方案 »

  1.   

    因为,GRADE要求的是A+, A, B+ B, C+ C, D
    输入,99 ,98, 60,当然没有GPA值了
    你可以在while (doAskGrade)之前加上个doAskGrade = true;试试
      

  2.   

    你要在第一个WHILE循环里面吧所有变量初始化一遍:

    while (doAskStudNum){
    //inicialize
    firstName = ""; lastName = ""; gradeReader =""; stringInput="";
    gradeTotal = 0.0;numberGrades = 0;doAskGrade=true;以下是运行的结果:
    C:\cs>java GPA
    4.0
    Student Name: a a
    Studnet Number: 1
    GPA = 4.0
    Congratulations, you're an Honours student!
    3.0
    Student Name: B B
    Studnet Number: 2
    GPA = 3.0
    Congratulations, you're an Honours student!
    2.0
    Student Name: C C
    Studnet Number: 3
    GPA = 2.0
    *** End of processing ***
      

  3.   

    同意楼上。另外,为了更好的展现java面向对象的思想,可以将student作为一个类来处理,其成员变量有Name,Number,Grade,GPA.
    这样在new 一个student的时候就自己初始化好了。数据结构也会比较清晰。