Java-код выводит только основной метод и пропускает статический

#java #methods #static

#java #методы #статический

Вопрос:

(Только начал изучать Java) Я пытаюсь сделать тест, но он не выводит нужную мне информацию, он пропускает метод «спросить» и выводит только основной метод. Я должен сохранить его как общедоступную статическую строку.

импортируйте javax.swing.JOptionPane;

проверка общедоступного класса {

 public static String ask(String question) { 
 question= "What is the biggest animal in the world?n";

    String optionA = "Blue Whalen"; //( Correct answer)
    String optionB = "Elephantn"; 
    String optionC = "Giraffen";
    String optionD = "Lionn";
    String optionE = "Rhinon";

    // Question string
    question  = "A. "   optionA;
    question  = "B. "   optionB;
    question  = "C. "   optionC;
    question  = "D. "   optionD;
    question  = "E. "   optionE;
    
    
    while(true) {
    String answer = JOptionPane.showInputDialog(question);
    answer = answer.toUpperCase();
    
        // Correct answer // Return Correct answer
        if(answer.equals("A")) {JOptionPane.showMessageDialog(null, "Correct!");return("A");} 
        
        // Incorrect answer
        else if (answer.equals("B") || answer.equals("C")|| answer.equals("D") || answer.equals("E")){JOptionPane.showMessageDialog(null,"Incorrect. Pleae try again");}
        
        // Invalid answer
        else {
            JOptionPane.showMessageDialog(null,"Invalid answer. Please enter A, B, C, D, or E.");}}

    }
   public static void main(String[] args) {JOptionPane.showInputDialog("TEST");
}
  
 

}

Вывод: тест

Комментарии:

1. public static void main(String[] args) является точкой входа в класс. Если вы хотите, чтобы выполнялся другой код, вам нужно вызвать другой код из main() .

2. Какой странный вопрос, вы написали этот код?

3. Это не «пропуск» ask метода, ваш код никогда его не вызывает. Замените свой тестовый диалог на main ... { ask(); }

Ответ №1:

Как я понимаю, вы хотите, чтобы был запущен метод «ask». Попробуйте поместить вызов метода в основной метод.

     public static void main(String[] args) {
           JOptionPane.showInputDialog("TEST");
           ask("");
    }
 

Комментарии:

1. Я заставил его работать с вашей помощью, спасибо.