当前位置: 首页 > 知识库问答 >
问题:

如何在Java中检测EOF?

百里智勇
2023-03-14

我尝试了一些方法来检测我的代码中的EOF,但它仍然不起作用。我试过使用BufferedReader、Scanner和使用charu001a来标记EOF,但仍然对我的代码没有任何意义。这里是我的最后一段代码:

    Scanner n=new Scanner(System.in);
    String input;
    int counter=0;

    while(n.hasNextLine())
    {
        input=n.nextLine();
        char[] charInput=input.toCharArray();
        for (int i = 0; i < input.length(); i++) {
            if(charInput[i]=='"')
            {
                if(counter%2==0)
                {
                    System.out.print("``");
                }
                else
                {
                    System.out.print("''");
                }
                counter++;
            }
            else
            {
                System.out.print(charInput[i]);
            } 
        }
        System.out.print("\n");
    }

程序应该在已经到达EOF时停止,但我不知道为什么,由于某些原因,它继续运行并导致运行时错误。请帮帮忙。顺便说一下,我是新来的,如果我的问题不是很清楚,很抱歉不能理解,谢谢你之前:)

共有1个答案

卫焕
2023-03-14

它一直在运行,因为它没有遇到EOF。在流的结尾:

  1. read()返回-1。
  2. 读取(byte[])返回-1。
  3. read(byte[],int,int)返回-1。
  4. readline()返回NULL。
  5. readxxx()对于任何其他X抛出EOFException
  6. scanner.hasnextxxx()对任何X返回false。
  7. scanner.nextxxx()抛出任何X的NosuChelementException

除非您遇到了其中的一个,否则您的程序不会遇到流结束。NB\u001a是Ctrl/Z。不是EOF。EOF不是字符值。

 类似资料:
  • 问题内容: 我尝试了一些方法来检测代码中的EOF,但仍然无法正常工作。我尝试使用BufferedReader,Scanner和char u001a标记EOF,但对我的代码仍然没有任何意义。这是我的最后一个代码: 该程序应该在到达EOF时停止运行,但是我不知道为什么,由于某些原因,它会继续运行并导致运行时错误。请帮忙。顺便说一句,我是新来的,如果对我的问题还不清楚,很抱歉,谢谢您:) 问题答案: 由

  • 问题内容: 如何检测Java中给定的SQL数据库中是否存在某个表? 问题答案: 您可以使用DatabaseMetaData.getTables()获取有关现有表的信息。 该方法透明地工作,并且独立于数据库引擎。我认为它查询后台的信息模式表。 编辑: 这是一个显示所有现有表名的示例。

  • 问题内容: 我想知道如何检测USB驱动器。但是我想知道我们是否可以用来检查USB驱动器。我读过的帖子确实解释了如何使用,但我不太了解。如果有人可以提供示例,那就太好了。谢谢。 问题答案: 您可以使用File.listRoots()方法。 这里的问题是,您将需要一个名称或其他信息来将驱动器标识为USB驱动器。否则,您无法使用这种方法告诉普通驱动器和USB驱动器。

  • 问题内容: 如何检测用户的Java视网膜显示?我已经知道可以使用来检测比例因子,但是java不允许我将返回的值转换为int。我想知道如何将其转换为int或另一种检测视网膜显示的方法。 问题答案: 我将以这种方式获得价值

  • 如何在AngularJS中检测onKeyUp? 我正在寻找一个'ngOnkeyup'指令,类似于ngChange,但我找不到任何合适的。 如果没有这样的指令,是否有一种干净的方法可以从浏览器本机onkeyup事件调用控制器?

  • 问题内容: 如何在AngularJS中检测onKeyUp? 我正在寻找类似于ngChange的’ngOnkeyup’指令,但是找不到合适的东西。 如果没有这样的指令,是否有一种从浏览器本地onkeyup事件调用控制器的干净方法? 问题答案: 编辑:请参阅下面的maklemenz的第二个答案,它引用了新的内置ng-keyup指令 您可以使用angular-ui库: 使用angular-ui,您可以