编写程序读取一组正数,找出它们的最大数,然后计算该数的出现次数,输入是以 0结束。比如:输入 3 5 2 5 5 5 0,程序找出最大数是 5,它出现的次数是 4。
这里用到了之前没用过的Scanner类和上次提到过的ArrayList类
用户键入一组数.首先找出这组数的最大数max,然后将max与这组数依次比较,相等即count++,计算max出现的次数.
以下附上代码,重点是上面两个类的用法.
1 import java.util.Scanner; 2 import java.util.ArrayList; //导入包 3 public class Test1_10 { 4 private static Scanner input; //私有静态类引用input 5 public static void main(String[] args){ 6 ArrayList<Integer> al=new ArrayList<Integer>(); //创建一个数组对象al 7 int max=0,number,count=0; 8 input=new Scanner(System.in); //Scanner类新建一个对象,将对象赋给类的引用.效果同上面的数组对象创建 9 System.out.println("input the number:"); 10 do{ 11 number=input.nextInt(); //input对象调用Scanner类的方法nextInt(接受一个整型值),并赋值给number 12 al.add(number); //al对象调用ArrayList类的add方法,即添加一个元素到数组. 13 if(number>max) 14 max=number; //找出最大值 15 }while(number!=0); 16 for(int i=0;i<al.size();i++){ //al对象调用ArrayList类的size方法,即求数组大小. 17 if(al.get(i)==max){ //al对象调用ArrayList类的get方法,即从数组中获取一个元素.与max比较 18 count++; //累计出现次数 19 } 20 } 21 System.out.println("max="+max+" "+"次数:"+count);//输出运行结果 22 } 23 }