簡單的程序將數字輸出到電話號碼格式 我似乎不能退出循環我不知道我在做什麼錯我認爲 !PhoneNumber.equals(「999」);當用戶輸入999但不起作用時將退出循環。任何人都可以幫助我這裏是我的代碼如何退出Java中的do while循環?
import javax.swing.*;
public class PhoneNumberFormat
{
public static void main(String[] args)
{
String PhoneNumber;
int numLength= 10;
do
{
PhoneNumber = JOptionPane.showInputDialog(null,
"Enter your 10 digit phone number or enter 999 to quit");
while(PhoneNumber.length() != numLength)
{
PhoneNumber = JOptionPane.showInputDialog(null,
"Error: You Entered " + PhoneNumber.length() + " digits\nPlease"
+ " Enter a 10 digit Phone number");
}
StringBuilder str = new StringBuilder (PhoneNumber);
str.insert(0, '(');
str.insert(4, ')');
str.insert(5,' ');
str.insert(9, '-');
JOptionPane.showMessageDialog(null, "Your telephone number is " +str.toString());
}while(!PhoneNumber.equals("999"));
}
}
你調試了你的代碼嗎?在我看來,輸入999將意味着代碼永遠不會退出while循環。 – JamesB
如果您剛剛將對話框留空,則存在潛在的NPE。 – StackFlowed
我的理解是在第一個陳述中你要求999退出。然後在下一個代碼中,如果用戶沒有輸入> 10個數字,則匹配。您還必須檢查if用戶是否輸入了3位數字,並且3位數字是999,然後退出循環。我相信這就是工作 – mubeen