个人作业—找水王2

Posted 夕颜mu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人作业—找水王2相关的知识,希望对你有一定的参考价值。

题目要求:

             随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。

             据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

设计思路:

              

1、输入总帖子数x

2、定义一个一维数组a[x],为作者id。设置循环输入作者id

3、定义三个小水王,以及其净帖子数

4、再设置一个循环,按照顺序来依次进行比较,如果净帖子数大于0则作者id不变,如果作者id等于0,则将此id作为新的小水王id,如此循环x

5、最后剩余的作者id即为水王id

源程序:

 1 import java.util.Scanner;
 2 
 3 
 4 public class water {
 5 
 6     public static void main(String[] args) {
 7         // TODO 自动生成的方法存根
 8         System.out.println("共有多少个帖子(请输入大于3的数)");
 9         Scanner input =new Scanner(System.in);
10         int x=input.nextInt();
11         String a[]=new String[x];
12         //发帖子情况
13         for(int i=0;i<x;i++)
14         {
15             System.out.println("请输入第"+(i+1)+"个帖子的作者id");
16             Scanner input1 =new Scanner(System.in);
17             a[i]=input1.nextLine();
18         }
19         //找水王
20         String s1="";//小水王1
21         String s2="";//小水王2
22         String s3="";//小水王3
23         int c1=0;
24         int c2=0;
25         int c3=0;//c1,c2,c3分别是小水王最后净帖子数,如果c1,c2,c3不是正数则不是水王
26         for(int i=0;i<x;i++)
27         {
28            if(s1.equals(a[i]))//如果相等净帖子数加1
29            {
30                c1++;
31            }
32            else if(s2.equals(a[i]))
33            {
34                c2++;
35            }
36            else if(s3.equals(a[i]))
37            {
38                c3++;   
39            }
40            else if(c1==0)
41            {
42                s1=a[i];
43            }
44            else if(c2==0)
45            {
46                s2=a[i];
47            }
48            else if(c3==0)
49            {
50                s3=a[i];
51            }
52            else//如果都不相等净帖子数均减1
53            {
54                c1--;
55                c2--;
56                c3--;        
57            }
58         }
59         System.out.println("水王是"+s1+" "+s2+" "+s3);
60     }
61 
62 }

 

运行截图:

结果分析:这次要寻找三个小水王,为了避免其重复,所以初始化要通过循环来进行,将三个小水王按照循环进行的顺序初始化为最先出现的三个不同的id;这样就不能将净帖子数初始化为1,需初始化为0,只有为小水王赋新值时才能将其置为1.

 

以上是关于个人作业—找水王2的主要内容,如果未能解决你的问题,请参考以下文章

找水王

课堂作业——找水王

软件工程作业-找水王

课堂作业找水王2

找水王

个人项目——找水王续