我在理解嵌套循环及其行为方面遇到了问题。在第一个循环中,脚本要求输入10位数字,否则它将保持循环,这样可以正常工作。在第二个循环中,我试图让程序继续运行,直到用户在电话号码的任何地方输入“999”。我有一些想法,但我不能把它放在一起。因此,如果用户输入一个10位数字,但它不包含999,那么它将继续要求重新输入电话号码。
.Item("Company")
答案 0 :(得分:1)
使用
if (phoneNum.contains(nineS))
{}
不要使用
while (phoneNum.contains(nineS))
或U可以这样做
if (!(phoneNum.contains(nineS)))
{
JOptionPane.showMessageDialog(null,"Invalid Input");
}
答案 1 :(得分:0)
嵌套是指一个循环位于另一个循环内部。您提供的代码没有。
嵌套的典型示例:
while( some_condition )
{
do_something..
while( more_condition )
{
do_something_more..
}
}
如果我理解正确,您希望继续输入数字并对其进行操作。但是一旦用户输入一个包含'999'的数字,控件就必须退出循环。
正如有人已经指出的那样,你根本不需要嵌套循环来实现这一点。
while( phoneNumber has 10 digits )
{
do_something..
if( phoneNumber has '999' anywhere )
{
break;
}
}
答案 2 :(得分:0)
while (phoneNum.length()!=numLength)
{
phoneNum=JOptionPane.showInputDialog(null, "You must re-enter 10 digits as your telephone number.");
StringBuffer str1 = new StringBuffer (phoneNum);
str1.insert(0, '(');
str1.insert(4, ')');
str1.insert(8, '-');
JOptionPane.showMessageDialog(null, "Your telephone number is " +str1.toString());
if(phoneNum.contains(nineS))// THIS IS THE ISSUE
break;
}
希望这会有所帮助。