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();
            }
        }
    }

    三、运行结果截图

    四、个人总结

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

  • 相关阅读:
    Running APP 使用说明
    Android 控件八 WebView 控件
    Android 控件七 ImageView 控件
    Android 控件六 CheckBox 控件
    Android 控件五 RadioButton 控件
    Android 控件四 EditText 控件
    Android 控件三 TextView 控件实现 Button
    Android 控件二 Button
    Android 基础控件演示实例
    Android 控件一 TextView
  • 原文地址:https://www.cnblogs.com/love528/p/5512674.html
Copyright © 2011-2022 走看看