码迷,mamicode.com
首页 > 其他好文 > 详细

软件工程练习——找水王2

时间:2016-05-27 20:25:52      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

    随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

    设计思想:这次的水王有三个,所以我选择用排除法一个个进行排除,假设第一个ID是水王,用它与之后的其他ID进行比较,对出现的次数进行统计,最后将这个ID全部拿出来,放入另一个数组中(出栈入栈的思想)。然后循环这个过程,直到全部水王找出。

技术分享
package shuiwang2;
import java.util.*;

public class Find_shuiwang {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Find_function function = new Find_function();
        Scanner sca1=new Scanner(System.in);
        Scanner sca2=new Scanner(System.in);
        System.out.println("输入帖子数:");
        int n=sca1.nextInt();
        String post[]=new String[n];
        
        int i;
        System.out.println("输入帖子ID:");
        for(i=0;i<n;i++)
        {
              post[i]=sca2.nextLine();
        }
        String shuiwang[] = function.find(post, n);
        System.out.println("水王ID是:");
        for(i=0;i<3;i++)
        {
            System.out.println(shuiwang[i]+" ");
        }
        
    }

}
Find_shuiwang
技术分享
package shuiwang2;

public class Find_function {
    String[] find(String[] post,int n)
    {
        int i,j = 0;
        int num_find=0;//找到几个相同的ID
        int num_mark=0;//标记有几个ID入栈
        int num_shuiwang=0;        
        String shuiwang[]= new String[3];
        String zhan[]=new String[n+1];//建一个栈放ID
                
        while(num_shuiwang<3){//当水王没找全之前一直循环
            shuiwang[num_shuiwang]=post[0];//令第一个ID为水王
            for(i=0;i<n-num_mark;i++)//两两对比
            {            
                if(shuiwang[num_shuiwang].equals(post[i]))
                    {
                        zhan[num_mark]=post[i];
                        num_find+=1;
                        
                        for(j=i;j<n-num_mark-1;j++)//前移数组
                        {
                            post[j]=post[j+1];
                        }
                        num_mark+=1;
                    }            
            }
            if(num_find >= n/4)
            {
                num_shuiwang+=1;
                num_find = 0;
            }
            else
            {
                num_find = 0;
            }
        }
        return shuiwang;
    }
}
Find_function

    结果截图:

技术分享技术分享

软件工程练习——找水王2

标签:

原文地址:http://www.cnblogs.com/xiaosongbiog/p/5535792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!