Java 程序查找字符串中出现次数最多的字符

编写一个Java程序,通过示例查找字符串中出现次数最多的字符。首先,我们将max值初始化为-1,并声明大小为256的charFreq整数数组。

第一个for循环用于计算maxOccStr字符串字符的出现次数。另一个for循环用于查找字符的最大出现次数。

import java.util.Scanner;

public class MaxOccurChar1 {
	private static Scanner sc;
	public static void main(String[] args) {
		String maxOccStr;
		char maxChar = ' ';
		int i, max = -1;
		int[] charFreq = new int[256];
		
		sc= new Scanner(System.in);

		System.out.print("\nEnter String to find Maximum Char Occurrence =  ");
		maxOccStr = sc.nextLine();
		
		for(i = 0; i < maxOccStr.length(); i++)
		{
			charFreq[maxOccStr.charAt(i)]++;
		}
		for(i = 0; i < maxOccStr.length(); i++) 
		{
			char ch = maxOccStr.charAt(i);
			if(max < charFreq[ch]) {
				max = charFreq[ch];
				maxChar = ch;
			}
		}
		System.out.println("\nThe Maximum Occurring Character = " +  maxChar);
		System.out.format("'%c' Character Occurs %d Times ", maxChar, max);	

		
	}
}
Java Program to Find Maximum Occurring Character in a String using for loop

使用While循环的Java程序查找字符串中出现次数最多的字符

import java.util.Scanner;

public class MaxOccurChar2 {
	private static Scanner sc;
	public static void main(String[] args) {
		String maxOccStr;
		char maxChar = ' ';
		int i = 0, j = 0, max = -1;
		int[] charFreq = new int[256];
		
		sc= new Scanner(System.in);
		System.out.print("\nEnter String =  ");
		maxOccStr = sc.nextLine();
		
		while(i < maxOccStr.length())
		{
			charFreq[maxOccStr.charAt(i)]++;
			i++;
		}
		while(j < maxOccStr.length()) 
		{
			char ch = maxOccStr.charAt(j);
			if(max < charFreq[ch]) {
				max = charFreq[ch];
				maxChar = ch;
			}
			j++;
		}
		System.out.println("\nThe Maximum Occurring Character = " +  maxChar);
		System.out.format("'%c' Character Occurs %d Times ", maxChar, max);	
		
	}
}

使用While循环输出出现次数最多的字符串字符

Enter String =  java programming

The Maximum Occurring Character = a
'a' Character Occurs 3 Times 

这是另一个查找字符串中出现次数最多的字符的代码示例。

import java.util.Scanner;

public class MaxOccurChar3 {
	private static Scanner sc;
	public static void main(String[] args) {
		String maxOccStr;
		int i, max = 0;
		int[] charFreq = new int[256];
		
		sc= new Scanner(System.in);

		System.out.print("\nEnter Any Text =  ");
		maxOccStr = sc.nextLine();
		
		for(i = 0; i < maxOccStr.length(); i++)
		{
			charFreq[maxOccStr.charAt(i)]++;
		}
		for(i = 0; i < 256; i++) 
		{
			if(charFreq[i] > charFreq[max]) {
				max = i;
			}
		}
		System.out.format("\nThe Maximum Occurring Character = %c",  max);
		System.out.format("\n'%c' Character Occurs %d Times ", max, charFreq[max]);	
	}
}
Enter Any Text =  tutorial gateway

The Maximum Occurring Character = a
'a' Character Occurs 3 Times 

这将找到出现次数最多的字符串字符,示例与上述相同。在这里,我们使用Java函数分离了逻辑。

import java.util.Scanner;

public class MaxOccurChar4 {
	private static Scanner sc;
	public static void main(String[] args) {
		String maxOccStr;
		
		sc= new Scanner(System.in);

		System.out.print("\nEnter String =  ");
		maxOccStr = sc.nextLine();
		
		maxCharOccur(maxOccStr);
	}
	
	public static void maxCharOccur(String maxOccStr) {
		int i, max = 0;
		int[] charFreq = new int[256];
		for(i = 0; i < maxOccStr.length(); i++)
		{
			charFreq[maxOccStr.charAt(i)]++;
		}
		for(i = 0; i < 256; i++) 
		{
			if(charFreq[i] > charFreq[max]) {
				max = i;
			}
		}
		System.out.format("\nThe Maximum Occurring Character = %c",  max);
		System.out.format("\n'%c' Character Occurs %d Times ", max, charFreq[max]);	
	}
}
Enter String =  hello world

The Maximum Occurring Character = l
'l' Character Occurs 3 Times 

在此程序中,要返回字符串中出现次数最多的字符,首先,我们声明maxOccStr字符串长度的charFreq整数数组。接下来,我们使用toCharArray将maxOccStr字符串转换为maxOccArr字符数组。

第一个for循环用于将maxChar字符频率分配给charFreq数组。然后,我们将第一个charFreq字符分配为maxchar。另一个for循环用于查找字符的最大出现次数。

import java.util.Scanner;

public class MaxOccurChar5 {
	private static Scanner sc;
	public static void main(String[] args) {
		String maxOccStr;
		int i, max;
		
		sc= new Scanner(System.in);

		System.out.print("\nEnter String to find Max Char Occur =  ");
		maxOccStr = sc.nextLine();
		
		int[] charFreq = new int[maxOccStr.length()];
		char[] maxOccArr = maxOccStr.toCharArray();
		char maxChar = maxOccStr.charAt(0);
		
		for(i = 0; i < maxOccArr.length; i++)
		{
			charFreq[i] = 1;
			for(int j = i + 1; j < maxOccArr.length; j++) {
				if(maxOccArr[i] == maxOccArr[j] && maxOccArr[i] != ' ' && maxOccArr[i] != '0') {
					charFreq[i]++;
					maxOccArr[j] = '0';
				}
			}		
		}
		max = charFreq[0];
		for(i = 0; i < charFreq.length; i++) 
		{
			if(max < charFreq[i]) {
				max = charFreq[i];
				maxChar = maxOccArr[i];
			}
		}
		System.out.println("\nThe Maximum Occurring Character = " +  maxChar);
		System.out.format("'%c' Character Occurs %d Times ", maxChar, max);			
	}
}
Enter String to find Max Char Occur =  happy coding

The Maximum Occurring Character = p
'p' Character Occurs 2 Times