2013-10-28 3 views
-1

예를 들어, 나는 textinput을 받아 int로 변환하는 프로그램을 작성하고 있습니다. 숫자의 입력을 5보다 작거나 같지만 0보다 크거나 같게하고 싶습니다 (0 < = 숫자 < = 5), 어떻게 작성합니까? , 답변에 대한 감사 :int를 특정 값/숫자로 선언하는 방법

int number; 
    textinput = JOptionPane.showInputDialog("give me a number"); 
    number = Integer.parseInt(textinput); 

나는 그들이 다른 번호를 입력하면 메시지가 번호가 유효하지 않습니다라고, 사용자는 0에서 5 사이의 숫자를 입력 할 그들은 다시

EDIT를를 입력 do while 루프를 사용했는데, 지금은 물어보고 싶습니다. "오류 : 0 ~ 5 사이의 숫자를 입력하십시오."라는 상자 팝업을 어떻게하면 입력 상자를 다시 표시 할 수 있습니까?

int number; 
do { 
    String textinput = JOptionPane.showInputDialog("give me a number between 0 and 5"); 
    number = Integer.parseInt(textinput); 
} while (!(number >= 0 && number <= 5)); 

편집 :

감사

+2

값을 계속 확인하려면 'while'루프를 사용하십시오. –

답변

6

do-while 루프를 사용하여 오류 메시지를 표시 할 경우, 시도 :

String textinput = JOptionPane.showInputDialog("give me a number between 0 and 5"); 
int number = Integer.parseInt(textinput); 
while (!(number >= 0 && number <= 5)) { 
    textinput = JOptionPane.showInputDialog("error: please a number between 0 and 5"); 
    number = Integer.parseInt(textinput); 
} 
+0

그게 빠르다 :) –

+1

권자, 왜이 답변에 대한 표가 계속 위아래로 오르락 내리락합니까? : P – Doorknob

+0

누군가가 여전히 주저하고 있습니다. P –

0

편집 :

import javax.swing.*; 
public class Untitled{ 
    public static void main(String[] args){ 
     int in = -1; 
     while(in < 0 || in > 5){ 
      String m = JOptionPane.showInputDialog("enter number"); 
      in = Integer.parseInt(m); 
      if(in < 0 || in > 5){ 
       JOptionPane.showMessageDialog(null,"enter again"); 
      } 
     } 
    } 
} 
+0

'while'조건이 잘못되었습니다. 그것은 사용자가 * 잘못된 * 값을 입력 할 때까지 반복 될 것이며, 그 시점에서 "enter again"이 인쇄되지만 루프를 종료합니다. –

+0

루프는 유효한 값에 대해 무한합니다. – Maroun

+0

(또한,이 doens't 심지어 컴파일) – Doorknob

0

사용자가 잘못된 입력을하지 못하도록 차단하려는 경우 한 줄의 코드로 쉽게 수행 할 수 있습니다.

JOptionPane.showInputDialog(parentComponent, message, title, messageType, icon, selectionValues, initialSelectionValue) 

이 아래의 형식은 미리 정의 된 값 세트를 줄 것이다

사용을 선택합니다. 예를 들면.

JOptionPane.showInputDialog(null, "test", "test", JOptionPane.INFORMATION_MESSAGE, null, new Integer[]{0,1,2,3,4,5}, 0); 

enter image description here

같은 몇 가지 출력을 생성하는 것입니다하지만 당신은 검증와 함께 할, 그리고 약간의 오차가 던져해야하는 경우, 당신은 위와 같이 방법을 따를 수 있습니다.