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

将扫描器中的字处理为字符串数组

封锐藻
2023-03-14

我对编程相当陌生,正在尝试设计一种方法来创建具有多个参数的方法。扫描仪,单词字符串数组,与单词数组匹配的字符串数组,以及字符串数组中有多少单词的整数。我的目标是一个接一个地处理扫描仪中的单词,如果扫描仪中的一个单词也在单词数组中,我想在int数组中添加一个,如果一个单词不是单词数组,我想在数组的第一个空格处将其添加到单词数组中,并在与单词相同的位置将其添加到int数组中。该方法的目标是在处理扫描仪中的单词后返回单词数组中有多少单词。我的第一次尝试在. equals()上提取nullPointerExc的值。我的方法

public static int scanScanner(Scanner s,String[] words, int[] wordCount, int wordsInWordsArray) {
    for(int i = 0; i < words.length; i++) {
        String currentToken = s.next();
        if(words[i].equals(currentToken)) {
            wordScore[i]=+lineScore;
            wordCount[i]++;
        }
        else {
            words[wordsInWordsArray] = currentToken;
            wordScore[wordsInWordsArray]=+lineScore;
            wordCount[wordsInWordsArray]++;
            wordsInWordsArray++;
        }
    }
    return wordsInWordsArray;
    }

共有1个答案

葛飞扬
2023-03-14

有几件事:

  1. 您的外循环应该迭代扫描仪中的单词,而不是数组中的单词。正如您现在所拥有的,如果您碰巧从一个空数组开始,您的方法将什么也不做。
  2. 您需要数组有什么原因吗?一般来说,您应该更喜欢java.util集合类而不是数组。它们将为您处理大小调整。在这种情况下,地图

你在这里的方法似乎不必要地复杂。

 类似资料:
  • 问题:编写一个名为wordWrap的方法,该方法接受表示输入文件的扫描器作为其参数,并将文件的每一行输出到控制台,对超过60个字符的所有行进行文字包装。例如,如果一行包含112个字符,则方法应将其替换为两行:一行包含前60个字符,另一行包含最后52个字符。包含217个字符的行应该被包装成四行:三行的长度为60,最后一行的长度为37。 我的代码: 输出中的问题: 预期产出: 生产产量: 我哪里做错了

  • 问题内容: 我正在编写一个使用Event类的程序,该类中有一个日历实例和一个String类型的描述。创建事件的方法使用扫描仪获取月,日,年,小时,分钟和说明。我遇到的问题是Scanner.next()方法仅返回空格之前的第一个单词。因此,如果输入为“我的生日”,则该事件实例的描述就是“我的”。 我做了一些研究,发现人们使用Scanner.nextLine()解决此问题,但是当我尝试这样做时,它只是

  • 问题内容: 在,我该怎么形成的从扫描仪读取结果? 那就是将扫描仪变成我想使用迭代的流。 问题答案: 您正在处理所有错误,不需要: 如果您确实要使用a ,那么您可以这样做: PS,您似乎也没有关闭资源。 总是 关闭一个。

  • 简单地说,我目前正在使用的程序要求我分割扫描仪输入(例如:2火腿和奶酪5.5)。它应该读取一份杂货订单,并将其分成三个数组。我应该使用string.split,并能够将此输入拆分为三部分,而不考虑中间字符串中的空格。 示例输入#1:2苹果0.9 示例输出#1: 2个 苹果 0.9 示例输入#2:2更多苹果0.9 示例输出#2: 2个 更多的苹果 0.9 我如何实现这一点?每当我用string.sp

  • 我创建了一个简单的扫描器,用于计算中的字符串数。txt文件。每个字符串位于下一行。它算错了,每次它给我数字297,甚至有超过20000个字符串。这个txt文件是由我编写的另一个程序创建的,它从网站获取链接,并使用FileWriter和BufferedWriter将其保存到。txt文件。可能有什么问题? 编辑:字符串示例:

  • 下面是一个简短的描述: 用户将输入一个“H”表示头部或一个“T”表示尾部,然后程序将打印出头部和尾部的总数和百分比。使用increment运算符在每次抛掷时递增抛掷次数。 不使用循环、ifs、fors等,我决定这个问题最接近的解决方案是使用comparteTo()这样的字符串方法和一个公式的组合来改变输出结果的增量值。 //假设扫描仪、标头等