gpt4 book ai didi

java - 如何使用扫描仪类扫描文本文件,挑选出某些短语并对其进行计数?

转载 作者:太空宇宙 更新时间:2023-11-04 12:12:21 25 4
gpt4 key购买 nike

我是学习java的新手,在这个特定的作业上遇到了很多麻烦。通常我可以在经过一些研究后找出解决方案,但这让我感到困惑。这是一个程序,用于读取包含字母“G”和“B”的不同组合(例如 GG、GB、BB、BG)的文件,我必须计算该文件有多少行以及每个组合弹出的实例数。任何帮助将不胜感激!我尝试搜索所有帖子并尝试一些东西,但现在看来我的程序无法运行(尽管没有给我任何错误消息)。

源代码:

import java.util.Scanner;
import java.io.File;
import java.io.IOException;
public class Family
{
public static void main(String[] args) throws IOException
{
//define variables
String lineRead = "";
int numberLines = 0; //# of lines
int bothMales = 0; //# of houses with both males
int bothFemales = 0; //# of houses with both females
int oneEach = 0; //#of houses with one male and one female
File fileName = new File("test1.txt");
Scanner inFile = new Scanner(new File("test1.txt"));

while (inFile.hasNextLine())
{
numberLines++;
inFile.nextLine();
Scanner check = new Scanner(inFile.nextLine());
while(check.hasNext())
{
if (inFile.equals("BB"))
{
bothMales++;
}
else if (inFile.equals("GG"))
{
bothFemales++;
}
else if ((inFile.equals("GB")) || (inFile.equals("BG")))
{
oneEach++;
}
}
}


System.out.println("Sample Size: " + numberLines);
System.out.println("Two Boys: " + bothMales );
System.out.println("Two Girls: " + bothFemales);
System.out.println("One Girl and One Boy: " + oneEach);


}//end main method
}//end class

最佳答案

您必须使用扫描仪的nextLine方法

        while(check.hasNext())
{
String line = check.nextLine ();
if (line.equals("BB"))
{
bothMales++;
}
// etc
}

根据您的线路,您可能希望在 String 上使用 trim 方法或使用 contains,而不是 equals

关于java - 如何使用扫描仪类扫描文本文件,挑选出某些短语并对其进行计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39760609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com