gpt4 book ai didi

java - While 循环不重复

转载 作者:行者123 更新时间:2023-12-02 06:29:24 25 4
gpt4 key购买 nike

该程序将从telephones.txt 文件中读取每个电话号码,并检查是否可以将其翻译为words.txt 文件中的一个或多个单词。程序的输出将包含电话号码及其单词代表。 (假设文件中有单词和电话)

    public static void main(String[] args) throws IOException
{
Scanner phones = new Scanner(new File("phones.txt"));
Scanner words = new Scanner(new File("words.txt"));
PrintWriter outfile = new PrintWriter(new FileWriter("outfile.txt"));
String number = "", output = "", code = "" ;
//Scans for next phone string
while(phones.hasNext())
{
number = phones.next();
number = number.replace("-","");
//Scans for next word string
while(words.hasNext())
{
code = words.next();
char[] wordChars = null;
wordChars = code.toCharArray();
output = "";
//converts word to digits
for(char wordChar : wordChars)
{
output = output.concat(new String(convert(wordChar)));
}
if(number.equals(output));
{
System.out.println(number + " " + code);
}
break;
}
}
}

这就是我到目前为止所做的,只是我无法弄清楚

if(number.equals(output));
{
System.out.println(number + " " + code);
}

对于这一行,我试图查看输出是否与数字具有相同的值,如果它确实具有相同的值,我想将其打印出来,但这就是我的程序中发生的情况。

我尝试跟踪我的程序,这就是我认为正在发生的事情,但事实并非如此......

当有电话字符串时输入第一个 while 循环继续

将号码设置为下一个电话字符串

当有单词字符串继续时输入第二个 while 循环

将代码设置为当前字符串并将其转换为数字值(假设转换正确)

如果转换后的字符串不等于数字,我想继续循环并搜索下一个单词。如果是,我想显示数字+代码并继续搜索更多单词。

搜索完单词列表后,我想继续到下一个数字并重复搜索该数字的单词,直到第一个 while 循环没有更多数字

最佳答案

回答你的第二个问题:

After i search through the list of words I want to continue to the next number and repeat the search for words for that number until the first while loop has no more numbers

答案:

您应该在每次迭代中创建一个新的扫描仪实例,即移动该行:

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())
{
...
}
}

关于java - While 循环不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20216212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com