Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays_Counting - Fatal编程技术网

使用并行Java数组计算单词

使用并行Java数组计算单词,java,arrays,counting,Java,Arrays,Counting,我试图编写代码来计算数组中每个单词的频率。我想知道是否需要使用两个嵌套循环来跟踪带整数的数组和带单词的数组。我已经摆弄代码好几个小时了,没有任何进展。如果您有任何建议,我们将不胜感激。我得到的输入首先是数组中元素的数量,然后是我应该计算频率的单词,比如4条狗猫狗鱼 import java.util.Scanner; 公共类实验室计划{ 公共静态int getFrequencyOfWord(字符串[]字列表,int列表大小,字符串currWord){ int i; 整数计数; int[]count

我试图编写代码来计算数组中每个单词的频率。我想知道是否需要使用两个嵌套循环来跟踪带整数的数组和带单词的数组。我已经摆弄代码好几个小时了,没有任何进展。如果您有任何建议,我们将不胜感激。我得到的输入首先是数组中元素的数量,然后是我应该计算频率的单词,比如4条狗猫狗鱼

import java.util.Scanner;
公共类实验室计划{
公共静态int getFrequencyOfWord(字符串[]字列表,int列表大小,字符串currWord){
int i;
整数计数;
int[]countArr=新int[listSize];
//需要使用两个数组;一个用于频率,一个用于单词。
对于(i=0;i
您能试试下面的解决方案吗

import java.util.HashMap;
导入java.util.Map;
导入java.util.Scanner;
公共类实验室计划{
公共静态void main(字符串[]args){
try(扫描仪编号=新扫描仪(System.in)){
int size=scnr.nextInt();
Map wordCounts=new HashMap();
对于(int i=0;iSystem.out.println(
s、 getKey()+“:”+s.getValue());
}
}
}
使用Java 8流:

import java.util.Map;
导入java.util.Scanner;
导入java.util.stream.collector;
导入java.util.stream.stream;
公共类实验室计划{
公共静态void main(字符串[]args){
try(扫描仪编号=新扫描仪(System.in)){
int size=scnr.nextInt();
字符串数组[]=新字符串[大小];
对于(int i=0;is,收集器.summingit(s->1));
data.entrySet().stream().forEach(s->System.out.println(
s、 getKey()+“:”+s.getValue());
}
}
}
如果您的输入是:

4 dog cat dog fish
输出:

cat: 1
fish: 1
dog: 2

你能试试下面的解决方案吗

import java.util.HashMap;
导入java.util.Map;
导入java.util.Scanner;
公共类实验室计划{
公共静态void main(字符串[]args){
try(扫描仪编号=新扫描仪(System.in)){
int size=scnr.nextInt();
Map wordCounts=new HashMap();
对于(int i=0;iSystem.out.println(
s、 getKey()+“:”+s.getValue());
}
}
}
使用Java 8流:

import java.util.Map;
导入java.util.Scanner;
导入java.util.stream.collector;
导入java.util.stream.stream;
公共类实验室计划{
公共静态void main(字符串[]args){
try(扫描仪编号=新扫描仪(System.in)){
int size=scnr.nextInt();
字符串数组[]=新字符串[大小];
对于(int i=0;is,收集器.summingit(s->1));
data.entrySet().stream().forEach(s->System.out.println(
s、 getKey()+“:”+s.getValue());
}
}
}
如果您的输入是:

4 dog cat dog fish
输出:

cat: 1
fish: 1
dog: 2

谢谢,很好,谢谢,很好。