读取第一个100字符串数组,java i/o

读取第一个100字符串数组,java i/o,java,arrays,string,Java,Arrays,String,我是从一个朋友那里直接转到这个网站的。目标是读取txt文件中的前100个字符串,计算这些单词出现的次数并打印出来。 事先非常感谢你。我在代码方面做得很好,但出于某种原因,这让我感到困惑 import java.util.Arrays; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class Program6 { public static void m

我是从一个朋友那里直接转到这个网站的。目标是读取txt文件中的前100个字符串,计算这些单词出现的次数并打印出来。 事先非常感谢你。我在代码方面做得很好,但出于某种原因,这让我感到困惑

import java.util.Arrays;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;


public class Program6 {

public static void main(String[] args) throws FileNotFoundException {
WordAnalysis a = new WordAnalysis();
a.ReadFile();
    }}
class WordAnalysis{
    String[] coun = new String[1000];
    int[] ana = new int[100];

    void ReadFile() throws FileNotFoundException {
         Scanner read = new Scanner(new File("myths.txt")); 
         int[] ana = new int[100];
         String coun = new String(); 
         String word=null;

    while(read.hasNext()) {
        word = read.next();             
        String[] arrWord = word.split(" ");
    }
 }
 }

检查这个,这里我用了一张地图来记录字数

    int count = 0;
    HashMap<String, Integer> wordCntMap = new HashMap();
    while (read.hasNext()) {
        count++;
        word = read.next();
        String[] arrWord = word.split(" ");
        if (count == 100) {
            break;
        }
        for (String str : arrWord) {
            Integer num = wordCntMap.get(str);
            if (num == null) {
                wordCntMap.put(str, new Integer(1));
            } else {
                wordCntMap.put(str, num + 1);
            }
        }
    }
    System.out.println("Word Count " + wordCntMap);
int count=0;
HashMap wordCntMap=新HashMap();
while(read.hasNext()){
计数++;
word=read.next();
字符串[]arrWord=word.split(“”);
如果(计数=100){
打破
}
for(字符串str:arrWord){
整数num=wordCntMap.get(str);
如果(num==null){
put(str,新整数(1));
}否则{
wordCntMap.put(str,num+1);
}
}
}
System.out.println(“字数”+wordCntMap);

检查这个,这里我使用了一个地图来记录字数

    int count = 0;
    HashMap<String, Integer> wordCntMap = new HashMap();
    while (read.hasNext()) {
        count++;
        word = read.next();
        String[] arrWord = word.split(" ");
        if (count == 100) {
            break;
        }
        for (String str : arrWord) {
            Integer num = wordCntMap.get(str);
            if (num == null) {
                wordCntMap.put(str, new Integer(1));
            } else {
                wordCntMap.put(str, num + 1);
            }
        }
    }
    System.out.println("Word Count " + wordCntMap);
int count=0;
HashMap wordCntMap=新HashMap();
while(read.hasNext()){
计数++;
word=read.next();
字符串[]arrWord=word.split(“”);
如果(计数=100){
打破
}
for(字符串str:arrWord){
整数num=wordCntMap.get(str);
如果(num==null){
put(str,新整数(1));
}否则{
wordCntMap.put(str,num+1);
}
}
}
System.out.println(“字数”+wordCntMap);
程序:

1:通过nextLine()从扫描仪读取行[0,99] 2:使用另一个扫描仪将行拆分,并使用next()获取每个单词。或者,您可以使用split。 3:将每个单词放入HashMap(String,Integer)中,其中String是单词,Integer是它出现的次数 4:迭代HashMap并打印出键、值对过程:

1:通过nextLine()从扫描仪读取行[0,99] 2:使用另一个扫描仪将行拆分,并使用next()获取每个单词。或者,您可以使用split。 3:将每个单词放入HashMap(String,Integer)中,其中String是单词,Integer是它出现的次数
4:迭代HashMap并打印出键、值对欢迎使用堆栈溢出,在这里没有答案太愚蠢,也没有注释太轻率

但是,很明显您还没有完成这段代码的编写。:-)

现在你的单词已经在arrWord中了,你需要开始使用某种结构来跟踪每个单词以及它被看到的次数

有很多容器允许您使用字符串作为键,使用整数作为值。就你的目的而言,你用哪一个并不重要

对于arrWord中的每个单词,请查看是否可以在结构(字典、Hashmap等)中找到它。如果找不到“word”,请插入新条目[word,1]。如果你能找到“word”,那么增加你找到的计数器

完成后,只需打印出结构中每个条目的键值对


欢迎来到Stack Overflow,这里没有回答太愚蠢,也没有评论太轻率

但是,很明显您还没有完成这段代码的编写。:-)

现在你的单词已经在arrWord中了,你需要开始使用某种结构来跟踪每个单词以及它被看到的次数

有很多容器允许您使用字符串作为键,使用整数作为值。就你的目的而言,你用哪一个并不重要

对于arrWord中的每个单词,请查看是否可以在结构(字典、Hashmap等)中找到它。如果找不到“word”,请插入新条目[word,1]。如果你能找到“word”,那么增加你找到的计数器

完成后,只需打印出结构中每个条目的键值对


什么是“某些原因”?你的具体问题是什么?我看到的只是您的需求和代码转储。欢迎使用SO!请让我们知道您的代码现在输出了什么。您是否有任何错误?或者逻辑中有什么问题吗?使用映射:我一直试图存储前100个字符串,但一直失败。这会读取文件,但我无法存储它这是什么“原因”?您的具体问题是什么?我看到的只是您的需求和代码转储。欢迎使用SO!请让我们知道您的代码现在输出了什么。您是否有任何错误?或者逻辑中有什么问题吗?使用映射:我一直试图存储前100个字符串,但一直失败。这会读取文件,但我在存储时遇到问题。我根本没有考虑过这条评论。我根本没有考虑过这条评论。就我个人而言,我更喜欢给出这种伪代码的答案+1它鼓励OP继续learning@user2310289同意,特别是对于这样的问题。我个人更喜欢给出这种伪代码的答案+1它鼓励OP继续learning@user2310289同意,特别是像这样的问题。