![](/img/trans.png)
[英]Unable to stop a while loop in a Thread by changing it's boolean condition
[英]Unable to create while/boolean loop
我對Java不熟悉。 我試圖創建一個while循環,將在每個過程之后提示用戶; 關於他們是否希望繼續。 我的進度看起來像這樣。
String proString,answer;
char t,f,x;
boolean exitTime;
exitTime = false;
proString = " Would You Like To Continue? \n";
while(!exitTime) {
continue;
}
answer = JOptionPane.showInputDialog(null," Would You Like To Continue? T/F ",HEADING,JOptionPane.INFORMATION_MESSAGE);
x = char.parseChar(answer);
我也嘗試了以下方法,但無濟於事...
Prompt= JOptonPane.showInputDialog(null,proString,HEADING,JOptionPane.QUESTION_MESSAGE);
input = char.parseChar(Prompt);
if(input == "y") {
break;
}
else if(input == "n") {
}
input = char.parseChar(Prompt);
if(input != "y"||"n") {
JOptionPane.showMessageDialog(null,"Invalid Input", "Error", JOptionPane.INFORMATION_MESSAGE);
}
else {
}
我想我的問題歸結為我應該使用JOptionPane.showInputDialog(...)還是JOptionPane.showConfirmDialog(...)或其他方法? 請告訴我您將如何做。
您需要使用do-while循環:
//assume user does not want to continue.
boolean continue = false;
do
{
//process whatever you want
//ask the user
Prompt= JOptonPane.showInputDialog(null,proString,HEADING,JOptionPane.QUESTION_MESSAGE);
input = char.parseChar(Prompt);
//wait until you get a valid input
while(input != "y"||"n")
{
JOptionPane.showMessageDialog(null,"Invalid Input", "Error",JOptionPane.INFORMATION_MESSAGE);
Prompt= JOptonPane.showInputDialog(null,proString,HEADING,JOptionPane.QUESTION_MESSAGE);
input = char.parseChar(Prompt);
}
//if user wants to continue, change your flag to true
if(input == "y") {
continue = true;
}
//otherwise make it false
else if(input == "n") {
continue = false;
}
while(continue); //if continue is true loop back
我沒有測試過,但是它應該向您解釋邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.