软件工程个人作业09
一.设计思想
1.定义一个类ZhaoShuiWan,定义一个计数器并将嫌疑人列表初始化
2.在一个for循环里用if语句判断计数器是否等于0,若等于0则继续用if语句判断ID是否与嫌疑人相等,如果与三个嫌疑人的ID都不同的话,则三个计数器都自减一,直到counter为0
3.在主函数里,定义一个变量,记录发帖的数量
4.用一个for循环输入发帖的ID
5.调用类ZhaoShuiWan,输出发帖很多的三个ID
二.代码实现
import java.util.Scanner;
public class ZhaoShuiWanXu {
public static void ZhaoShuiWan(int[] ID, int length,int[] ShuiWan)
{
int[] counter=new int[3]; //计数器
counter[0]=counter[1]=counter[2]=0; //先赋值
ShuiWan[0]=ShuiWan[1]=ShuiWan[2]=-1; //初始化嫌疑人列表
for(int i=0;i<length;i++)
{
if(counter[0]==0)
{
counter[0]++;
ShuiWan[0]=ID[i];
}
else if(counter[1]==0)
{
counter[1]++;
ShuiWan[1]=ID[i];
}
else if(counter[2]==0)
{
counter[2]++;
ShuiWan[2]=ID[i];
}
else if(ID[i]==ShuiWan[0]) //如果counter为0,重新赋值
{
counter[0]++;
}
else if(ID[i]==ShuiWan[1])
{
counter[1]++;
}
else if(ID[i]==ShuiWan[2])
{
counter[2]++;
}
else //如果与三个嫌疑人的ID都不同的话,则三个计数器都自减一,直到counter为0
{
counter[0]--;
counter[1]--;
counter[2]--;
}
}
}
public static void main(String[] args)
{
int[] ID=new int[100]; //发帖记录表
int[] WaterKing=new int[3]; //三个发帖数目很多的ID
Scanner input=new Scanner(System.in);
System.out.println("请输入帖子的数量:");
int num=input.nextInt();
System.out.println("请输入发帖ID:");
for(int i=0;i<num;i++)
{
ID[i]=input.nextInt();
}
ZhaoShuiWan(ID,num,WaterKing);
System.out.println("三个发帖很多的ID是:");
for(int i=0;i<3;i++)
{
System.out.println(WaterKing[i]+"");
}
System.out.println();
}
}
三.实现截图

四.个人总结
鉴于本人的编程能力比较差,感觉自己的编程思维,还不那么灵活,故自己没有做出来,但是在老师上课的提点中,我知道设计思路是在上个基础上,在扩展为3个,就添加三个怀疑目标,进行遍历就可以。所以我借鉴了上届学长的代码实现并且知道了每一步都是什么意思。
浙公网安备 33010602011771号