2013-12-15 2 views
1
package iCanDoIt; 

    import java.util.Scanner; 

    import javax.swing.JOptionPane; 

    public class Practice { 

     public static void main(String[] args) { 

     String msg=JOptionPane.showInputDialog("Enter a number"); 
     int num1=Integer.parseInt(msg); 
     String msg2=JOptionPane.showInputDialog("enter another number"); 
     int num2=Integer.parseInt(msg2); 
     int addition=num1+num2; 

     String msg3=JOptionPane.showInputDialog("What is" + num1 + "+ " + num2 + " ? "); 

     int answer=Integer.parseInt(msg3); 

     while(num1+num2!=answer){ 

      JOptionPane.showMessageDialog(null,"try again"); 
      String answer2=JOptionPane.showInputDialog("wrong. what is " + num1 + "+" + num2 + "?"); 
      int answer3=Integer.parseInt(answer2); 

     if (num1+num2==answer3) 

      JOptionPane.showMessageDialog(null,"GREAT job"); 


     } 
     System.exit(0); 

     } 


    } 

저는 초보자입니다.JOptionPane 및 While 루프 (사용자 입력 추가)

스캐너 입력이 꽤 이해하기 쉬운 것 같지만 어떤 이유로 JOptionPane을 사용하는 데 어려움을 겪고 있습니다.

어쨌든, 내 문제는 내가 "다시 시도"점점 계속, 내가 대답 올바른 얻을 후에도입니다 ...

내가 뭘 잘못 말해 주 시겠어요?

답변

0

answer을 절대 업데이트하지 않습니다.

변경 또한 루프 외부에서 마지막 메시지 대화 상자를 이동하여 if (num1+num2==answer) 체크를 제거 할 수이

answer=Integer.parseInt(answer2); 
if (num1+num2==answer) 

int answer3=Integer.parseInt(answer2); 
if (num1+num2==answer3) 

:

int answer=Integer.parseInt(msg3); 

    while(num1+num2!=answer){ 

     JOptionPane.showMessageDialog(null,"try again"); 
     String answer2=JOptionPane.showInputDialog("wrong. what is " + num1 + "+" + num2 + "?"); 
     answer=Integer.parseInt(answer2); 

    } 
    JOptionPane.showMessageDialog(null,"GREAT job"); 
    System.exit(0); 
+0

@ DaoWen- 아아! 너무 많은 의미가 있습니다. 정말 고맙습니다!!!! :) :) :) – user3104903