2014-01-09 2 views
-1

Может ли кто-нибудь помочь мне с моими утверждениями if и else? Это только говорит «Выход до свидания» всякий раз, когда я вводил что-то, что должно произойти только при вводе -0. Мой учитель ушел на неделю, поэтому мне не нужно никого просить о помощи.Как открыть эту программу на окне?

package game; 

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.util.Random; 

import javax.swing.JOptionPane; 

public class GameFrame { 

/** 
* @param args 
*/ 
public static void main(String[] args) { 
    // num1 - Variable to store the first value 
     // num2 - Variable to store the second value 
     // answer - Variable to accept user input 
     int num1, num2, answer=0; 

     /*@reader - The reader which accepts user input*/ 
     BufferedReader reader = new BufferedReader (new  InputStreamReader(System.in)); 
     /*@quit - Variable used to exit the program*/ 
     boolean quit = false; 
     /*@generator - The Random number generator*/ 
     Random generator = new Random(); 

     while (quit == false) 
     { 
      //Generate First Random Number between 1-100 
      num1 = generator.nextInt(100); 
      //Generate First Random Number between 1-100 
      num2 = generator.nextInt(100); 
      //Displays the math equation 
     String input = JOptionPane.showInputDialog(null,num1+ "+" + num2 + " = "); 
      //Accepts the user's input and converts it to int value 
      int number = Integer.parseInt(input); 
      //Lets assume if user enters -99, it means they want to exit the program 
      if (answer == -0) 
      { 
      JOptionPane.showMessageDialog(null, "Exit Program: Good Bye!\n"); 
       quit = true; 
      }else if (answer == (num1+num2)) 
       JOptionPane.showMessageDialog(null,"Correct Answer!\n"); 
      else{ 
       JOptionPane.showMessageDialog(null,"Incorrect Answer\n"); 
    } 
} 
} 
} 
+1

Попытка перенести консольную программу на программу GUI является простой задачей нет, если вы никогда не делали программу GUI раньше. Вам нужно узнать о программировании, управляемом событиями. Я предлагаю вам ознакомиться с учебниками [Swing tutorials] (http://docs.oracle.com/javase/tutorial/uiswing/) –

+0

Одна вещь, о которой следует помнить, заключается в том, что когда вы редактируете вопрос (сообщение) t перезаписать исходный вопрос, так как это может привести к аннулированию ответов, полученных до редактирования. Вместо этого, ниже исходного сообщения, просто напишите ** EDIT ** и добавьте отредактированный контент в сообщение. –

ответ

2

Попытка перенести консольную программу на программу GUI не является легкой задачей, если вы никогда не делали программу GUI раньше. Вам нужно узнать о программировании, управляемом событиями. Я предлагаю вам взглянуть на Swing tutorials

Некоторые советы. Это вы хотите «полугиги». Вы можете просто использовать JOptionPane s для ввода. Предположим, вы хотите получить номер ввода. Вы бы сделали что-то вроде этого

String numberString = JOptionPane.showInputDialog(null, "Enter a Number"); 
int number = Integer.parseInteger(numberString); 

как только вы делаете первую строку, автоматически открывается панель ввода. запрашивая ввод. Результатом является String, поэтому у вас есть, чтобы разобрать его, чтобы получить номер.

Кроме того, если вы просто хотите Diplay сообщения, просто использовать

JOptionPane.showMessageDialog(null, message); 

Вы можете сделать это действительно показать какой-то результат. В приведенном выше случае, когда вы просто хотите показать сообщение, вам не нужно делать его равным ни с чем. Поэтому вместо System.out.println() с, вы можете просто использовать JOPtionpane.showMesageDialog() и вместо reader.readLine(), вы бы использовать JOptionPane.showInputDialog()

Попробуйте его и вернуться, если вы застряли.


см Также documentation for JOptionPane, чтобы увидеть, что другие возможные всплывающие диалоговые окна есть.

+0

Спасибо, чувак. Он работал частично, но теперь, когда я что-то вводил, результат просто говорит «Выход! До свидания!», Одно из моих утверждений if. Но это только должно произойти, когда я вхожу -0 – user3174207

+0

время (выйти == ложь) \t { \t // Генерируем первое случайное число между 1-100 \t num1 = generator.nextInt (100); \t // Генерация первого случайного числа между 1-100 \t num2 = generator.nextInt (100); \t // Отображает математическое уравнение \t Строковый вход = JOptionPane.showInputDialog (null, num1 + "+" + num2 + "="); \t // Принимает вход пользователя и преобразует его в значение int \t int number = Integer.parseInt (input); \t // Давайте предположим, что если пользователь вводит -99, это означает, что они хотят, чтобы выйти из программы, если – user3174207

+0

(ответ == -0) \t { \t JOptionPane.showMessageDialog (нуль, «Выход из программы: Good Bye! \ п "); \t quit = true; \t} еще если (ответ == (num1 + num2)) \t \t JOptionPane.showMessageDialog (нулевой, "Правильный ответ! \ П"); \t \t еще { \t \t JOptionPane.showMessageDialog (нулевой, "неправильный ответ \ п"); – user3174207

0

Попробуйте это это работает я работать на моем компьютере

/** 
    * 
* @author sandeepk 
*/ 
    import java.io.BufferedReader; 
    import java.io.InputStreamReader; 
    import java.util.Random; 

    import javax.swing.JOptionPane; 

    public class GameFrame { 

/** 
* @param args 
*/ 
public static void main(String[] args) { 
// num1 - Variable to store the first value 
    // num2 - Variable to store the second value 
    // answer - Variable to accept user input 
    int num1, num2, answer = 0; 

    /*@reader - The reader which accepts user input*/ 
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
    /*@quit - Variable used to exit the program*/ 
    boolean quit = false; 
    /*@generator - The Random number generator*/ 
    Random generator = new Random(); 

    while (quit == false) { 
     //Generate First Random Number between 1-100 
     num1 = generator.nextInt(100); 
     //Generate First Random Number between 1-100 
     num2 = generator.nextInt(100); 
     //Displays the math equation 
     String input = JOptionPane.showInputDialog(null, num1 + "+" + num2 + " = "); 
     //Accepts the user's input and converts it to int value 
     int number = Integer.parseInt(input); 
     //Lets assume if user enters -99, it means they want to exit the program 
     System.out.println("number " + number); 
     if (number == 0) { 
      JOptionPane.showMessageDialog(null, "Exit Program: Good Bye!\n"); 
      quit = true; 
     } else if (number == (num1 + num2)) { 
      JOptionPane.showMessageDialog(null, "Correct Answer!\n"); 
     } else { 
      JOptionPane.showMessageDialog(null, "Incorrect Answer\n"); 
     } 
    } 
} 
} 



if my code is run and you satisfy then please vote me thanks. 
Смежные вопросы