永发信息网

java基础在线等急。。。。

答案:4  悬赏:30  手机版
解决时间 2021-07-18 09:55

 1、编写一个Java应用程序,对用户输入的任意一组字符如{1,3,4,7,2,1,1,5,2},输出其中出现次数最多且数值最大的字符,并显示其出现次数。

请问这题改怎么做呢?麻烦大家帮我解答下,谢谢哦

最佳答案

存储次数用一个Integer的HashMap存就可以了,之后遍历找次数最多的。


至于最大数,用一个int每次比较即可。


但这两个有可能不是同一个数噢?


参考代码:


import java.util.*;


public class Main
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);


Map<Integer, Integer> data = new HashMap<Integer, Integer>();


int m = scanner.nextInt();
data.put(m, 1);


while(scanner.hasNext()) {
int t = scanner.nextInt();
if (t > m)
{
m = t;
}


Integer n = Integer.valueOf(t);
if (data.containsKey(n))
{
data.put(n, data.get(n) + 1);
}
else
{
data.put(n, 1);
}
}


System.out.println("最大的数是:" + m);


Integer m2 = Integer.valueOf(m);
for (Integer key: data.keySet()) {
if(data.get(key) > data.get(m2)) {
m2 = key;
}
}
System.out.println("出现次数最多的数是:" + m2);
}
}


全部回答

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; } }

最大的数是:9

最大数且次数最多的是:5

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; 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{

if(temp>result){ result=temp; num=ch[i]; } break;

} }

} System.out.println("出现最多的字符是:"+num+" 出现的次数为:"+result);

} }

由于不方便测试,没有实际测试,若有问题可以贴处理

import java.io.BufferedReader; import java.io.InputStreamReader; public class Compare { public static void main(String[] args){ try{ System.out.println("请输入一组数字:(以空格隔开)"); InputStreamReader reader=new InputStreamReader(System.in); BufferedReader br = new BufferedReader(reader); String input = br.readLine(); String[] inputs=input.split(" "); int max=-10000,count=0; for(int i=0;i<inputs.length;i++){ if(i==0){ max=Integer.parseInt(inputs[i]); }else{ if(max<Integer.parseInt(inputs[i])){ max=Integer.parseInt(inputs[i]); } } } for(int j=0;j<inputs.length;j++){ if(max==Integer.parseInt(inputs[j])){ count++; } } System.out.println("最大的数是:"+max+",且出现次数是:"+count); }catch(Exception ex){} } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
东营哪有交画涂鸦的?
女朋友快生日了送什么礼物
兔子咬了要打狂犬疫苗吗?
国家队足球鞋
什么食物最酸?
杜仲可以和鸡一起煲吗
Linux网络连接标志断开
网上汇款的问题
网队除了哈里斯外还有什么核心啊
dnf二级密码怎么设置
“包天下”餐饮加盟项目是否真实?
密码箱密码不小心乱了打不开怎么办,谁有好办
梦幻诛仙里鬼王怎么加点。。
英语最少日记
QQ三国现在好玩吗
推荐资讯
天龙八部90天龙套腕,腰带,鞋子能得到什么属
微软下一代操作系统Windows 7何时能上市?
带花字的诗词大全,关于花的古诗有哪些
关于庆祝国庆的诗歌,庆祝国庆简短诗歌大全
文学名著比通俗文学影响大:这个辩题有什么新
上海什么超市将要停业
bie 一不小心爱上你全首 泰文拼音发音
高三每日格言,每日一句名言
冬天适合去哪里旅游?
忘不了他怎么办?一遇到感情的问题自然而然的
为什么反复黑便但便潜血是阴性
动漫是根据小说的吗??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?