2013-03-02 72 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

哇愚蠢的错误。感谢您指出它,这就是诀窍! – 2013-03-02 02:15:59

1

错误发生的原因是您正尝试在循环内再次声明pparticipation和aparticipation。从这两个变量前删除类型(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(); 
} 

的变量已经声明,所以不要再这样做。