Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 而循环不是';t重复_Java_String_While Loop - Fatal编程技术网

Java 而循环不是';t重复

Java 而循环不是';t重复,java,string,while-loop,Java,String,While Loop,该程序将从telephones.txt文件中读取每个电话号码,并检查是否可以将其翻译成words.txt文件中的一个或多个单词。程序的输出将包含电话号码及其文字代表。(假设文件中有单词和电话) 这就是我到目前为止所做的,只是我想不出什么 if(number.equals(output)); { System.out.println(number + " " + code); } 对于这一行,我试图看看输出是否与数字具有相同的值,如果它具有

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

这就是我到目前为止所做的,只是我想不出什么

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