设计思想:
通过数组存储水王的ID通过ID数量可以了解到水王留言的次数,通过不同用户之间ID的对比,不同ID相互抵消,相同ID次数加一,最后通过两两抵消最后留下的就是水王。
源程序代码
package shui; import java.util.*; public class Findwater { public static void main(String args[]){ Scanner sc =new Scanner(System.in); System.out.println("请输入ID的个数:"); int a=sc.nextInt(); int b[]=new int[a]; System.out.println("请输入ID"); for(int i=0;i<a;i++) { b[i]=sc.nextInt(); } int water=b[0]; int k=1; for(int i=1;i<a;i++) { if(water!=b[i]) { k=k-1; if(k<=0) { water=b[i+1]; k=1; i++; } } else { water=b[i]; k=k+1; } } System.out.println("水王为"+water); } }
实验结果:
总结:找水王刚开始的时候觉得贴别难,但是经过老师的解说,将问题分解为一个个小问题,首先就是根据ID判断每个人发言的次数,之后再去找,课上的这次练习使得我学会了如何将问题分为步揍化,一步一步的去解决问题。