Как я могу это исправить, я продолжаю получать ноль в качестве ответа вместо моих условий - PullRequest
0 голосов
/ 22 февраля 2020

Как мне это исправить. Я продолжаю получать ноль как мой ответ вместо моих условий. Школьная система оценок за java, где я продолжаю получать ноль как мой окончательный ответ. Вместо того, чтобы IDE просматривал мой код, он просто считывает, что переменная инициализирована, а не вводит.

public class task_3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub



        int Grades = 0;
        JOptionPane.showInputDialog("Enter marks");
        // JOptionPane.showInputDialog(Grades);

        if (Grades >= 85 && Grades <= 100) {
            JOptionPane.showMessageDialog(null, "your Grade is HD");
        } else {
            if (Grades >= 75 && Grades <= 85) {
                JOptionPane.showMessageDialog(null, "your Grade is D");
            } else {
                if (Grades >= 65 && Grades <= 75) {
                    JOptionPane.showMessageDialog(null, "your Grade is C");
                } else {
                    if (Grades >= 55 && Grades <= 65) {
                        JOptionPane.showMessageDialog(null, "your Grade is P");
                    } else {
                        if (Grades <= 55) {
                            JOptionPane.showMessageDialog(null, "your Grade is F");
                        } else if (Grades > 100) {
                            JOptionPane.showMessageDialog(null, "error");
                        }
                    }
                }

            }
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 22 февраля 2020

Сделайте это следующим образом:

import javax.swing.JOptionPane;

public class Task_3 {
    public static void main(String[] args) {
        int grade = Integer.parseInt(JOptionPane.showInputDialog("Enter marks"));
        if (grade > 100) {
            JOptionPane.showMessageDialog(null, "error");
        } else if (grade >= 85) {
            JOptionPane.showMessageDialog(null, "your Grade is HD");
        } else if (grade >= 75) {
            JOptionPane.showMessageDialog(null, "your Grade is D");
        } else if (grade >= 65) {
            JOptionPane.showMessageDialog(null, "your Grade is C");
        } else if (grade >= 55) {
            JOptionPane.showMessageDialog(null, "your Grade is P");
        } else {
            JOptionPane.showMessageDialog(null, "your Grade is F");
        }
    }
}

Примечания:

  1. Вам необходимо сохранить введенное пользователем значение в grade.
  2. Вы должны переписать if...else, как я написал, например, if (grade > 100) это false, это означает, что grade меньше или равно 100, поэтому теперь вам нужно просто проверить if (grade >= 85) и т. Д. ...
  3. Вы должны следовать соглашению об именах, например task_3 должно быть Task_3 и Grade должно быть grade. Проверьте здесь для более подробной информации.
0 голосов
/ 22 февраля 2020

Вы не принимаете ввод от пользователя. Этот принятый ввод должен быть установлен в Grades перед началом ваших условий. Попробуйте это:

int Grades =0 ;
String input;
input= JOptionPane.showInputDialog("Enter marks" );
Grades=Integer.parseInt(input);

//now apply your if-else conditions
// I tried simplifying your conditions
       if (Grades>=85 && Grades<=100) {
           JOptionPane.showMessageDialog(null, "your Grade is HD");
       }
       else if (Grades>=75 && Grades<=85) {
               JOptionPane.showMessageDialog(null, "your Grade is D");
           }
       else if (Grades>=65 && Grades<75) {
                   JOptionPane.showMessageDialog(null, "your Grade is C");
               }
       else if (Grades>=55 && Grades<65) {
                       JOptionPane.showMessageDialog(null, "your Grade is P");
                   }
        else if (Grades<55) {
                           JOptionPane.showMessageDialog(null, "your Grade is F");
                       }
         else if ( Grades>100) {
                           JOptionPane.showMessageDialog(null,"error");
                           }
                       }
                   }

Дайте мне знать, если это поможет

...