软件工程个人作业12

软件工程个人作业12

程序题目:

•三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
•如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

一、设计思想

根据“水王”发帖数目超过了帖子数目的一半,通过寻找发帖数过半的ID找出“水王”。

二、源代码:

 1 package finding;
 2 
 3 import java.util.InputMismatchException;
 4 import java.util.Scanner;
 5 
 6 public class finding {
 7 
 8     public static void main(String[] args) {
 9         // TODO Auto-generated method stub
10     
11         for(int m=0;;)                           //按照用户需求无限循环
12         {
13             int bug=0;
14             Scanner in=new Scanner(System.in);
15             int n; 
16             System.out.println("请输入帖子的个数:");
17             n=in.nextInt();
18          
19             System.out.println("请输入ID(为整数):");
20             int ID[]=new int [n];
21             try                              //捕捉输入错误
22             {
23                 for(int i=0;i<n;i++)
24                 {
25                     ID[i]=in.nextInt();
26                 }
27              }
28             catch(InputMismatchException e)
29             {
30                 System.out.println("输入不合法!请输入整数!");
31                 bug=1;
32             }
33             if(bug!=1)
34             {
35                 int shuiwang=ID[0];                 //从第一个ID开始,第一个即为水王
36                 int temp=1;
37                 for(int i=0;i<n-1;i++)
38                 {
39                     for(int j=i+1;j<n;j++)
40                     {
41                         if(shuiwang==ID[j])         //当此时水王与下一个ID相同时,计数器temp+1
42                         {
43                             temp++;
44                         }
45                     }
46                     if(temp<=n/2)
47                     {
48                         shuiwang=ID[i+1];         //当temp小于总帖子数的一半时,换下一个ID为临时水王
49                     }
50                 }
51                    System.out.println("水王是(发帖数超过总贴数一半的ID):"+shuiwang);
52             }
53             System.out.println("继续寻找水王请按n,退出请输入s:");
54             String s=in.next();
55             if(s.equals("s"))
56                 System.exit(0);
57             else
58                 continue;    
59             in.close();
60         }
61     }
62 }

三、截图

原文地址:https://www.cnblogs.com/gzgz/p/5517099.html