有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

if语句if-else仅在java中执行else

所以我正在努力解决这个问题,似乎我无法理解,我对java一无所知,我需要帮助。。因此,我正在制作一个简单的程序,它将通过分数来确定你是否通过了该科目,而它似乎只决定了ELSE语句。。这是密码。。这对我真的很有帮助。。提前谢谢

    String studID=" ",course=" ", name=" ", dept=" ", subj=" ";
    double exam1=0, exam2=0, exam3=0, exam4=0;
    double avg, pgrade;
    String msg=" ";

studID =JOptionPane.showInputDialog("Please fill-out the following fields:"
        + "\nStudent ID: ");
name = JOptionPane.showInputDialog("Name: ");
dept = JOptionPane.showInputDialog("Department: ");
course = JOptionPane.showInputDialog("Course: ");
subj = JOptionPane.showInputDialog("Subject: ");
exam1 = Double.parseDouble(JOptionPane.showInputDialog("First Examination: "));
exam2 = Double.parseDouble(JOptionPane.showInputDialog("Second Examination: "));
exam3 = Double.parseDouble(JOptionPane.showInputDialog("Third Examination: "));
exam4 = Double.parseDouble(JOptionPane.showInputDialog("Final Examination: "));
avg = (exam1 + exam2 + exam3 + exam4)/4;
pgrade =(100 - avg + 10) / 10;

if (avg==100)
{
    msg = "passed - Excellent!";
}else if (avg>100 && avg<89)
{
    msg = "Passed - Very Good!";
}else if (avg>90 && avg<84)
{
    msg = "Passed - Average";
}else if (avg>85 && avg<79)
{
    msg = "Passed - Good";
}else if (avg>80 && avg<74)
{
    msg = "Passed - Satisfactory";
}else if (avg>75 && avg<49)
{
    msg = "Failed";
}else if (avg>50 && avg<0.00)
{   
    msg = "Dropped";
}else if (avg==0.00 && avg<0.00)
{
    msg = "No such Grade";
}else
{
    msg = "Out of Range or Invalid.";
}


JOptionPane.showMessageDialog(null, new JTextArea (
        "|======Student Details=======|"
    + "\n|StudentID:\t" + studID +"\t |"
    + "\n|Name:\t" + name + "\t |"
    + "\n|Department:\t" +dept+ "\t |"
    + "\n|Course:\t"+course+"\t |"
    + "\n|Subject:\t"+subj + "\t |"
    + "\n|=======Grade Details======= |"
    + "\n|First     Second     Third     Fourth  |"
    + "\n|"+exam1+"     "+exam2+"     "+exam3+"     "+exam4+"\t     |"
    + "\n|Average:\t" +avg + "\t|"
    + "\n|Point Grade\t:" +pgrade+"\t|"
    + "\n|Remarks:"+msg+"\t|"
    + "\n|=============================|"));





}

}


共 (2) 个答案

  1. # 1 楼答案

    这个条件是错误的,因为要在一个范围内包含一个变量,您必须进行设置

    else if(avg>89 && avg<100)
    
  2. # 2 楼答案

    你的比较一开始就错了,所以试着按照我纠正的方法做一些事情,这不是最好的,这样你就可以改进它

      String studID=" ",course=" ", name=" ", dept=" ", subj=" ";
        double exam1=0, exam2=0, exam3=0, exam4=0;
        double avg, pgrade;
        String msg=" ";
    
    studID =JOptionPane.showInputDialog("Please fill-out the following fields:"
            + "\nStudent ID: ");
    name = JOptionPane.showInputDialog("Name: ");
    dept = JOptionPane.showInputDialog("Department: ");
    course = JOptionPane.showInputDialog("Course: ");
    subj = JOptionPane.showInputDialog("Subject: ");
    exam1 = Double.parseDouble(JOptionPane.showInputDialog("First Examination: "));
    exam2 = Double.parseDouble(JOptionPane.showInputDialog("Second Examination: "));
    exam3 = Double.parseDouble(JOptionPane.showInputDialog("Third Examination: "));
    exam4 = Double.parseDouble(JOptionPane.showInputDialog("Final Examination: "));
    avg = (exam1 + exam2 + exam3 + exam4)/4;
    pgrade =(100 - avg + 10) / 10;
    
    if (avg==100)
    {
        msg = "passed - Excellent!";
    }else if (avg<100 && avg>89)
    {
        msg = "Passed - Very Good!";
    }else if (avg<90 && avg>84)
    {
        msg = "Passed - Average";
    }else if (avg<85 && avg>79)
    {
        msg = "Passed - Good";
    }else if (avg<80 && avg>74)
    {
        msg = "Passed - Satisfactory";
    }else if (avg<75 && avg>49)
    {
        msg = "Failed";
    }else if (avg<50 && avg>0.00)
    {   
        msg = "Dropped";
    }else if (avg==0.00)//no one gets below zero in  a fair system
    {
        msg = "No such Grade";
    }else
    {
        msg = "Out of Range or Invalid.";
    }
    
    
    JOptionPane.showMessageDialog(null, new JTextArea (
            "|======Student Details=======|"
        + "\n|StudentID:\t" + studID +"\t |"
        + "\n|Name:\t" + name + "\t |"
        + "\n|Department:\t" +dept+ "\t |"
        + "\n|Course:\t"+course+"\t |"
        + "\n|Subject:\t"+subj + "\t |"
        + "\n|=======Grade Details======= |"
        + "\n|First     Second     Third     Fourth  |"
        + "\n|"+exam1+"     "+exam2+"     "+exam3+"     "+exam4+"\t     |"
        + "\n|Average:\t" +avg + "\t|"
        + "\n|Point Grade\t:" +pgrade+"\t|"
        + "\n|Remarks:"+msg+"\t|"
        + "\n|=============================|"));
    
    
    
    
    
    }}