设计思路:
选择数组中一个值,执行循环,若循环数等于设定数,则++,否则--。当等于零时,设定数改为下一个数。
实验代码:
package yiyi; import java.util.Scanner; import java.lang.*; public class test { public static void main(String []args) { Scanner input =new Scanner(System.in); System.out.println("请输入一个数组的长度"); int length=input.nextInt(); int i; int []array=new int[length]; System.out.println("请输入一个数组"); for(i=0;i<length;i++ ) { int a=input.nextInt(); array[i]=a; } if(length==0) throw new IllegalArgumentException(); int resultNum=array[0]; int occurrence=0; for(i=0;i<length;i++) { if(array[i]==resultNum) { occurrence=0; } else { if(--occurrence==0) { resultNum=array[i]; } } } System.out.println(resultNum); } }
实验截图:
个人总结:
进行数组中次数最多的选出来,进行循环定位,确定水王。