软件工程个人作业03—找水王

实验要求:

结对开发伙伴:

姓名:陶雨洁

  博客地址链接:http://www.cnblogs.com/Amyheartxy/p/6736268.html

一、设计思想

其实在课堂上,老师已经点出了一点思路,已经很接近于答案,具体思路如下:

1.首先,先用一组整型数组来代替帖子列表。

2.因为“水王”发的帖子的数量超过一半,所以,当从前往后遍历时,如果相邻两个数字相同,则往后推一位,继续比较;如果相邻两个数字不同,则“舍去”(即用某种符号标记,如“*”号)这两个数字。

3.最后,从前往后遍历数组,遇到第一个未被标记为“*”时,即为“水王”的帖子ID。

二、代码实现

package Test;

public class t {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.print("原始数据:");
        char[] a={'1','2','2','3','2','1','2','2','2','1'};
        //char[] a={'1','3','3','3','2','3','3','3','2','3','1'};
        //char[] a={'1'};
   //char[] a={'1','3','3'};
int n=a.length; for(int j=0;j<n;j++){ System.out.print(a[j]+" "); } System.out.println(); System.out.print("变化过程:"); int i=0; while(i<n){
 if(i+1>=n){break;}
   else{
if(a[i]==a[i+1]){ i++; } else{ a[i]='*'; a[i+1]='*'; i+=2; }//if...else...
      } } System.out.println();
for(int j=0;j<n;j++){ System.out.print(a[j]+" "); } System.out.println(); System.out.print("找出结果:"); for(int j=0;j<n;j++){ if(a[j]!='*'){ System.out.println(a[j]); break; } } } }

三、实现截图

[③和④的验证也许是多余的,因为实验要求就已经要求了“水王”的帖子数量超过帖子总数的一半了...]

四、个人总结

这几天的程序,比如二维数组和“水王”的程序,都有一些老师的提示。所以,还是得加油(ง •_•)ง。

原文地址:https://www.cnblogs.com/xiaxiaoshu/p/6725227.html