要求:桌面上有一个txt文件,其中有100行数字,找出每行数字的后两位出现次数最多的,并打印出来。
如:
打印出 20.
package leetcode;
import java.io.*;
import java.util.*;
public class demo79 {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<>();
List<Integer> list1 = new ArrayList<>();
BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\Users\\52267\\Desktop\\demo\\ss.txt"));
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
list.add(line);
}
System.out.println(list);
for (String x : list) {
//在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换.
list1.add(Integer.parseInt(x) % 100);
}
System.out.println(list1);
bufferedReader.close();
int[] x = new int[list1.size()];
int i = 0;
for (int ss : list1) {
x[i++] = ss;
}
System.out.println(x);
for (int xx:x){
System.out.println(xx);
}
demo79.candidate(x);
}
//找出数组中出现次数最多的
public static void candidate (int[] array) // 找出数组中出现次数最多的那个数
{
int[] count = new int[101]; // 计数数组,每个元素的默认值为0
for(int i = 0; i < array.length; i++)
{
count[array[i]]++; // 对应的计数值加1
}
int maxCount = count[0];
int maxNumber = 0;
for(int i = 1; i < 100; i++) // 找出最多出现的次数
{
if(count[i] > maxCount)
maxCount = count[i];
}
for(int i = 0; i < 100; i++) // 找出出现最多次的那个数字
{
if(count[i] == maxCount)
maxNumber = i;
}
System.out.println("出现次数最多的数字为:" + maxNumber);
System.out.println("该数字一共出现" + maxCount + "次");
}
}