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 如何打破这个循环?_Java_String_Java.util.scanner_Cycle_Eof - Fatal编程技术网

Java 如何打破这个循环?

Java 如何打破这个循环?,java,string,java.util.scanner,cycle,eof,Java,String,Java.util.scanner,Cycle,Eof,我正在编写一个程序,可以读取文本并转换引号,但我在使用条件完成循环时遇到问题hasNext(),该程序应以EOF结束,您能帮助我吗 以下是我提到的周期: boolean reference= false; while(input.hasNext()) { String text = input.nextLine(); for (int i = 0; i < text.length(); i++) {

我正在编写一个程序,可以读取文本并转换引号,但我在使用条件完成循环时遇到问题
hasNext()
,该程序应以EOF结束,您能帮助我吗

以下是我提到的周期:

  boolean reference= false;     
    while(input.hasNext())
    {
        String text = input.nextLine();

        for (int i = 0; i < text.length(); i++)
        {
            if(text.charAt(i)=='"' && reference==false)
            {
                reference=true;
                System.out.print("``");
            }
            else if(text.charAt(i)=='"' && reference == true)
            {
                reference=false;
                System.out.print("''");
            }
            else
            {
                System.out.print(text.charAt(i));
            }   
        }
    }
布尔引用=false;
while(input.hasNext())
{
String text=input.nextLine();
对于(int i=0;i

@Jean-FrançoisSavard不,我只是在读我在控制台上键入的内容

从控制台读取时,
hasNext()
方法将循环,直到键入ctrl+z(windows)或ctrl+d(unix)


这是将EOF(打破此循环)发送到
系统的方法。在
中,我认为您应该尝试
while(input.hasNextLine())
,因为您读取了后面的下一行。

您正在读取文件?似乎您正在使用扫描仪。Scanner类有一个名为close()的方法-@Jean-FrançoisSavard不,我只是在读我在控制台上键入的内容。@SurgeonofDeath是的,我试图使用它,但它不起作用,问题是我不知道如何告诉程序EOF在哪里。@SebastianRojasCaballero,你怎么知道它不起作用?它一直在读吗?如果是这样,那么你可以简单地使用break;在这种情况下没什么关系。我不知道,但我必须在一个名为uva.onliine.judge的网站上发布这段代码。有一台机器可以读取整个代码,它会告诉你问题是否得到解决,机器不会键入ctrl+z或ctrl+d来结束它,相反,它会告诉我问题存在运行时错误。