原题大概意思就是统计输入字符串中,重复的最大个数!
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String temp;//用于暂存输入的颜色字符串 String[] ballon; //用于存储至多1000个气球的颜色字符串 int [] count;; // 用于记录每种颜色的个数 int category; //统计有多少种颜色 Boolean change; //用于记录是否找到相同的颜色 int i,j,n; while(sc.hasNext()){ n=sc.nextInt(); if(n==0){ return ; } category=0; count=new int[1000]; ballon=new String[1000]; for( i=0;i<n;i++){ temp=sc.next(); //输入的颜色 change=false; for(j=0;j<i;j++){ if((ballon[j]!=null)&&(ballon[j].equals(temp))){ count[j]++; //找到相同的颜色,加在原有个数上加1 change=true; } } if(!change){ ballon[i]=temp; count[i]++; //没有相同的颜色,就默认为1 category++; } } int max=0; for( i=0,j=0;i<category;i++){ if(max<count[i]){ max=count[i]; j=i; } } System.out.println(ballon[j]); } } }