zoukankan      html  css  js  c++  java
  • 软件工程个人作业05

    程序题目:

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

    一、设计思想

    根据两两相消的思想,发帖数过半的ID在与其他不同ID比较,相同则计数器加一,不同计数器减一。当计数器为负数时,水王依次下轮。

    二、源代码

    import java.util.InputMismatchException;
    import java.util.Scanner;
    
    public class Finding {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
        
            for(int m=0;;)                           //按照用户需求无限循环
            {
                int judge=0;
                Scanner in=new Scanner(System.in);
                int n; 
                System.out.println("请输入帖子的个数:");
                n=in.nextInt();
             
                System.out.println("请输入ID(序号为整数):");
                int ID[]=new int [n];
                try                              //捕捉输入错误
                {
                    for(int i=0;i<n;i++)
                    {
                        ID[i]=in.nextInt();
                    }
                 }
                catch(InputMismatchException e)
                {
                    System.out.println("输入不合法!请输入整数!");
                    judge=1;
                }
             
                int shuiwang=ID[0];int temp=0;    //从第一个ID开始,第一个即为水王
                for(int i=0;i<n-1;i++)
                {                                 //当此时水王与下一个ID相同时,计数器temp+1
                    if(shuiwang==ID[i+1])
                    {
                        temp++;
                    }
                    else 
                    {                            //当此时水王与下一个ID不相同时,计数器temp-1
                        temp--;
                    }
                    if(temp<0)
                    {
                        shuiwang=ID[i+1];         //当temp小于0时说明出现次数少,换下一个ID为临时水王
                    }
                }
                if(judge!=1)
                    System.out.println("水王是:"+shuiwang);
                
                System.out.println("继续寻找水王请按任意键,退出请按q:");
                String s=in.next();
                if(s.equals("q"))
                    System.exit(0);
                else
                    continue;    
                in.close();
            }
        }
    }

    三、运行结果截图

    四、个人总结

    小程序体现一个人的解决问题的思路,只有多练才能提高技术,要再接再厉。

  • 相关阅读:
    Hexo Daemon
    Eclipse远程Debug
    IT人都欠自已一个Lable Page
    Linux下java/bin目录下的命令集合
    python笔记--5--文件操作
    python笔记--4--面向对象
    python笔记--3--函数、生成器、装饰器、函数嵌套定义、函数柯里化
    python笔记--1--基础知识、数据类型
    Django笔记--视图
    C++笔记--1
  • 原文地址:https://www.cnblogs.com/love528/p/5512674.html
Copyright © 2011-2022 走看看