1、 编写一个Java应用程序,对用户输入的任意一组字符如{1,3,4,7,2,1,1,5,2},输出其中出现次数最多且数值最大的字符,并显示其出现次数。
有JAVA题请教
- 提问者网友:孤凫
- 2021-04-24 02:23
- 五星知识达人网友:夜余生
- 2021-04-24 03:37
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class TT {
public static int Nums[]={1,3,5,6,7,5,4,5,3,9,4,5,3,9};
public static int length=Nums.length;
public static ArrayList list=new ArrayList();
public static Map<Integer, Integer> NumCounts = new HashMap<Integer, Integer>();
public static Integer max; //最大数
public static Integer maxCountNum; //最大且次数最多的数
public static void main(String[] args) {
sort();
findMaxNumByCount();
}
//排序
public static void sort(){
//先排序 (从小到大)
for(int i=0;i<length;i++){
for(int j=i+1;j<length;j++){
int temp;
if(Nums[i]>Nums[j]){
temp=Nums[j];
Nums[j]=Nums[i];
Nums[i]=temp;
}
}
}
max=Nums[length-1];
System.out.println("\r\n\r\n最大的数是:"+max+" \r\n");
}
//找出出现次数最多的且数字最大的数
public static void findMaxNumByCount(){
for(int i=0;i<length;i++){
if(!list.contains(Nums[i])){
list.add(Nums[i]);
//System.out.println("数字:"+Nums[i]+"出现了:"+getNumCout(Nums,Nums[i])[1]+"次");
int s[]=getNumCout(Nums,Nums[i]);
NumCounts.put(s[0],s[1]);
}
}
maxCountNum=max;
for (Integer key: NumCounts.keySet()) {
if(NumCounts.get(key) > NumCounts.get(maxCountNum)) {
maxCountNum = key;
}
}
System.out.println("最大数且次数最多的是:"+maxCountNum);
}
//返回一个数组 [数字,次数]
public static int[] getNumCout(int Nums[],int num){
int num$count[]=new int[2]; //累计 数字,出现的次数
int count=0;
for(int i=0;i<Nums.length;i++){
if(num==Nums[i]){
num$count[0]=num;
count++;
}
}
num$count[1]=count;
return num$count;
}
}
- 1楼网友:渡鹤影
- 2021-04-24 05:05
public class test{ static public void main(String a[]){ char[] ch={'1','3','4','7','2','1','1','5','2'}; String str=new(ch); //将char构造为一字符 int num=0,result=0,temp=0,temp2=0; for(int i=0;i<ch.length;i++ ){ fot(int j=0;j<ch.length;j++){ if(str.indexOf(ch[i],j)!=-1){ //判断ch[i],从j位置开始,在str出现的位置,否则返回-1 temp++;
} else{
temp2=Integer.parsInt(""+chi[i]);
if(temp>result&&temp2>num0{ result=temp; num=temp2;
} break;
} }
} System.out.println("出现最多的字符是:"+num+" 出现的次数为:"+result);
} }