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

编写一个方法来跳过输入文件中的空格-Java

师冥夜
2023-03-14

我正在编写一个程序,并且正在创建一个名为skipwhitespace()的方法,它将调用getNextChar()来读取文件中的每个字符。该方法必须跳过空格、制表符和换行符,还必须识别和跳过所有注释,无论它们以{(*开头,直到具有匹配的}*)的注释结束。

我已经编写了以下将使用的getNextChar():

private char getNextChar() {
        if (inputFile.hasNext()){ //inputFile uses the Scanner object
            int i = 0;
            nextChar = inputFile.next().charAt(i);
            i++;
        }
        else{
            nextChar = '\n';
        }
        return nextChar;
    }

我也不确定这个方法是否完全正确,但我基本上尝试返回下一个可用字符,如果行在末尾,它将返回'\n'

private char skipWhiteSpace() {
       // TODO
    }

如果你能帮助我写出这个方法,我将不胜感激。

共有1个答案

淳于亦
2023-03-14

hasNext()Next()听起来像InputFile是扫描器的实例。

扫描器不读取文件字符的字符。

扫描器已经省略了空白。它并不是“逐个字符读取字符”的功能。它读取所有输入,寻找“定界符”。它抛出了分隔符,并给出了它们之间的所有内容。开箱即用,“分隔符”被定义为“1个或多个空白字符”,因此实际上您已经抛出了所有的空白字符,但您不能要求扫描器提供逐字符的数据(它提供令牌,一次一个,“令牌”被定义为:“出现在2个分隔符之间的所有字符,其中文件开始和文件结束也算作一个分隔符”。

 类似资料:
  • 本文向大家介绍写一个方法去掉字符串中的空格相关面试题,主要包含被问及写一个方法去掉字符串中的空格时的应答技巧和注意事项,需要的朋友参考一下

  • 我有一个以下格式的文件: 姓名:John 文本:Hello --空行--缓冲读取器正在阅读此内容 名称:Adam 文本:Hi --空行--缓冲读取器正在跳过此行 我尝试了多种方法来读取最后一行空行,但都不起作用。有什么建议吗?我有一个程序可以验证消息的格式是否正确。正确的格式应该有三行,第一行是名称,第二行是文本,第二行是空行。由于BufferedReader没有读取最后一个空行,我的程序总是说消

  • 问题内容: 我正在使用此方法从JAR中的文本文件读取并正确工作。 现在,我要写入文件(从文件删除一行,通过从第一个文件写入第二个文件而没有特定的行)。 我使用此代码执行此操作: 但是java.lang.IllegalArgumentException发生了: 我的文件在Classpath中。 谢谢。 问题答案: 你不能那样做。 jar本身就是文件,而不是目录。它包含Java知道如何读取的资源。但是

  • 本文向大家介绍写一个读取文件和文件的方法相关面试题,主要包含被问及写一个读取文件和文件的方法时的应答技巧和注意事项,需要的朋友参考一下 var fs = require('fs'); var data = fs.readFileSync('./index.html', 'utf8'); // 停止执行代码直到操作结束 console.log(data) fs.readFile('./test.tx

  • 本文向大家介绍C#通过流写入一行数据到文件的方法,包括了C#通过流写入一行数据到文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#通过流写入一行数据到文件的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 我有一个线性布局(LinearLayout),其中有几个编辑文本(EditText),它们都是通过编程方式创建的(不是用XML布局),尤其是没有id。 当我在其中一个中键入,并且下一个(各自对焦)被禁用,并且我按下键盘上的Next IME按钮时,焦点前进到禁用的,但我不能在其中键入任何内容。 我所期望的是焦点前进到下一个启用的编辑文本。除了通过EditText禁用EditText之外,我还尝试了。