2013-03-02 3 views
1

그래서 내 프로그램의이 섹션에서는 사용자가 입력 한 내용을 다시 프로그램에 적용하려고합니다.while 루프가 사용자 입력을 다시 묻습니다.

문제는 int가 이미 선언되었다는 것입니다. 그러나 질문에 대한 의견을 다시 얻으려면 어떻게해야합니까?

Scanner keyboard = new Scanner(System.in); 

System.out.println("Please enter possible and actual points for participation: "); 
int pparticipation = keyboard.nextInt(); 
int aparticipation = keyboard.nextInt(); 

while (aparticipation > pparticipation || pparticipation < 0){ 
    System.out.println("Please enter possible and actual points for participation: "); 
    int pparticipation = keyboard.nextInt(); 
    int aparticipation = keyboard.nextInt(); 
} 

답변

2

변수를 두 번 선언했습니다. 루프의 변수에서 "int"를 제거하면 제대로 작동합니다. 변수를 선언한다

int aparticipation; . 당신이 수행 한 후에 변수에 값을 할당하려면 aparticipation = keyboard.nextInt();

이미 선언 했으므로 컴파일러에게 다시 int를 알려주지 않아도됩니다.

+0

와우 바보 같은 실수. 지적 해 주셔서 고마워요, 그 트릭을! –

1

루프 내에서 pparticipation 및 관련성을 다시 선언하려고하므로 오류가 발생합니다. 이 두 변수 앞에있는 유형 (int)을 제거하십시오.

0

당신이 할 수있는 일은 다음과 같은 변경하는 것입니다 : -

while (aparticipation > pparticipation || pparticipation < 0){ 
    System.out.println("Please enter possible and actual points for participation: "); 
    int pparticipation = keyboard.nextInt(); 
    int aparticipation = keyboard.nextInt(); 
} 

while (aparticipation > pparticipation || pparticipation < 0){ 
    System.out.println("Please enter possible and actual points for participation: "); 
    pparticipation = keyboard.nextInt(); 
    aparticipation = keyboard.nextInt(); 
} 

변수가 이미 선언

에, 그래서 다시하지 않습니다.

관련 문제