Java 而循环不是';t重复
该程序将从telephones.txt文件中读取每个电话号码,并检查是否可以将其翻译成words.txt文件中的一个或多个单词。程序的输出将包含电话号码及其文字代表。(假设文件中有单词和电话) 这就是我到目前为止所做的,只是我想不出什么Java 而循环不是';t重复,java,string,while-loop,Java,String,While Loop,该程序将从telephones.txt文件中读取每个电话号码,并检查是否可以将其翻译成words.txt文件中的一个或多个单词。程序的输出将包含电话号码及其文字代表。(假设文件中有单词和电话) 这就是我到目前为止所做的,只是我想不出什么 if(number.equals(output)); { System.out.println(number + " " + code); } 对于这一行,我试图看看输出是否与数字具有相同的值,如果它具有
if(number.equals(output));
{
System.out.println(number + " " + code);
}
对于这一行,我试图看看输出是否与数字具有相同的值,如果它具有相同的值,我想打印出来,但这是我的程序中发生的情况
我试着跟踪我的程序,这是我认为正在发生的事情,但它不是
输入第一个while循环,同时有电话字符串继续
将号码设置为下一个电话串
输入第二个while循环,同时有一个单词字符串continue
将代码设置为当前字串,并将其转换为数字值(假设转换正确)
如果转换的字符串不等于数字,我想继续循环并搜索下一个单词。如果是,我想显示数字+代码并继续搜索更多单词
搜索完单词列表后,我想继续搜索下一个数字,并重复搜索该数字的单词,直到第一个while循环不再有数字您的内部循环始终以
中断
结束。因此,循环体将只执行一次。只需将您的break
放入描述成功电话号码匹配处理的块中。回答您的第二个问题:
搜索完单词列表后,我想继续搜索
下一个数字,然后重复搜索该数字的单词,直到
首先,while循环没有更多的数字
回答:
您应该在每次迭代中创建一个新实例,即移动行:
Scanner words = new Scanner(new File("words.txt"));
进入外环的主体
while(phones.hasNext())
{
Scanner words = new Scanner(new File("words.txt"));
number = phones.next();
number = number.replace("-","");
//Scans for next word string
while(words.hasNext())
{
...
}
}
如果你想打破你的循环,就给它贴上标签:你知道我做了什么错事才让手机配对成功吗?如果(数字等于(输出));{System.out.println(number+“”+code);}应该只打印成功的案例否?我想升级投票,但因为我是新手,没有15个代表我很难升级投票:s你知道如果(number.equals(output)),那行是怎么来的吗;{System.out.println(number+“”+code);}没有打印它应该打印的内容?@user3034912这是另一个问题,你应该将它发布到一个新的线程中,并解释它正在打印什么以及你期望它打印什么。
while(phones.hasNext())
{
Scanner words = new Scanner(new File("words.txt"));
number = phones.next();
number = number.replace("-","");
//Scans for next word string
while(words.hasNext())
{
...
}
}