Java 如何计算一个单词在文本文件中的次数
我被要求编写一个程序,检查我在计算机上创建的文本文件中是否存在团队名称,并说明在该文件中重复了多少次?你能帮帮我吗?我编写了代码来检查这个词是否存在,但不知道如何检查它存在的次数Java 如何计算一个单词在文本文件中的次数,java,count,text-files,output,Java,Count,Text Files,Output,我被要求编写一个程序,检查我在计算机上创建的文本文件中是否存在团队名称,并说明在该文件中重复了多少次?你能帮帮我吗?我编写了代码来检查这个词是否存在,但不知道如何检查它存在的次数 import java.util.*; import java.io.*; public class worldSeries { public boolean checkSeries () throws IOException { Scanner keyboard = new Sca
import java.util.*;
import java.io.*;
public class worldSeries
{
public boolean checkSeries () throws IOException
{
Scanner keyboard = new Scanner(System.in);
boolean result = false;
String[] winners = new String[200];
int i = 0 ;
File file = new File ("WorldSeriesWinners.txt");
Scanner inputFile = new Scanner(file);
while ( inputFile.hasNext () && i < winners.length )
{
winners[i] = inputFile.nextLine();
i++;
}
inputFile.close();
System.out.println(" Enter the Team's name you want to check : " );
String teamName = keyboard.nextLine();
for ( int index = 0 ; index < winners.length ; index ++ )
{
if ( teamName.equals(winners[index]))
{
result = true;
}
}
return result;
}
public static void main(String[]Args)
{
worldSeries object1 = new worldSeries();
try
{
System.out.println(" The search result for the Team's name is : " + object1.checkSeries ());
}
catch (IOException ioe)
{
System.out.println(" Exception!!! ");
ioe.printStackTrace();
}
}
}
import java.util.*;
导入java.io.*;
公共类世界系列
{
公共布尔checkSeries()引发IOException
{
扫描仪键盘=新扫描仪(System.in);
布尔结果=假;
字符串[]winners=新字符串[200];
int i=0;
File File=新文件(“WorldSeriesWinners.txt”);
扫描仪输入文件=新扫描仪(文件);
while(inputFile.hasNext()&&i
而不是结果=true代码>您可以在循环中增加一个计数器
例如:
int counter = 0;
for ( int index = 0 ; index < winners.length ; index ++ )
{
if ( teamName.equals(winners[index]))
{
counter = counter + 1;
}
}
int计数器=0;
for(int index=0;index
然后,您可以将方法的返回类型更改为int
并返回counter
仅返回true/false的方法可以使用新方法。如果返回值为0,则返回false,否则返回true。基本上,您可以将现有的重新用于
循环
for(int index = 0 ; index < winners.length ; index++){
if ( teamName.equals(winners[index])){
result = true;
}
}
for(int index=0;index
引入一个变量计数器
,该变量初始化为0,并在团队名称匹配时递增
此外,我建议重新构造代码
以单独的方法读取文件的内容。让该方法返回存储到String[]
的String[]
向用户询问团队名称
检查数组winners
是否包含团队名称。这种情况已经发生在方法checkSeries()
中。正如您可以从我之前的评论中想象的那样,我将把扫描器代码移动到1中描述的方法。请记住,方法名称应该描述方法中发生的事情-因此checkSeries()
应该只检查并返回yes或no
在新的计数方法中重用checkSeries()
的for循环。仅当checkSeries()
返回true时,才需要调用此方法
您可以使用HashMap,单词为“key”,出现次数为“value”。每当你阅读一个单词时,检查该单词在地图中是否可用,并增加其值。如果您需要代码示例,请告知。如果我是您,我会将字符串中输入的所有文本读取一次,然后使用方法string.split(“”)代码>
这将返回一个包含输入中所有单词的字符串数组。然后在数组上执行循环,并在输入中计算团队的结果
如果您想在编写代码时获得更多帮助,请随时询问,只需创建一个计数器变量并在for循环的If块中递增它即可。简单。