Java读取文件并逐行打印众名&末行字符串保留方法"以寻找众名实验为例"
程序员文章站
2022-05-04 07:55:51
...
import java.io.*;
import java.util.Scanner;
public class Q9 {
public static void main(String[] args)
throws FileNotFoundException {
// TODO Auto-generated method stub
Scanner input = new Scanner (new File("/Users/apple/Documents/Class Folders/Java/Lab6/Q9.txt"));//读取文件
int uniquenam=0;
while(input.hasNextLine()) {
String repeatname="xx";
String name ="x";
String firstname = "x";
String comName = "xxx";
int count =1;
int record = 1;
String line = input.nextLine();
Scanner lineScan = new Scanner (line);
while (lineScan.hasNext()) {
name=lineScan.next();
if(repeatname=="xx") {
comName=name;
} //默认最多的名字为第一位
if(name.equals(repeatname)) {
count++;
}else if(!name.equals(repeatname)&&count>record){
comName = repeatname;
record = count;
count=1;
uniquenam++;
}else {
uniquenam++;
count=1;
}
repeatname = name;
}
if(!lineScan.hasNext()&&count>record){
comName = repeatname;
record = count;
count=1;
}//在最后一个字符串出现的时候保证不会传递到下行
System.out.println("Most common:"+comName);
System.out.println(record);
}
System.out.println(uniquenam);
}
}