请JAVA高手帮我把这段代码加上注释!谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/29 19:07:47
import java.io.*;
public class Monkey{
int a[];
int num;
int n;
Monkey(int b,int num){
this.num = num;
this.n = b;
a = new int[b+1];
a[0] = b;
for(int i = 1;i <= b;i++)
a[i] = 1;
}

int select(){
int i = 1,k = 0;
while(a[0] > 1){
if(a[i] == 1){
k++;
if(k == num){
k = 0;
a[i] = 0;
a[0]--;
}
}
i = i+1;
if(i > n){
i = i%n;
}
}
for(i=1;i<=n;i++){
if(a[i]==1){
return i;
}
}
return 0;
}
}

import java.io.*; //导包
public class Monkey{
int a[]; //定义 int数组 a
int num; //
int n;
Monkey(int b,int num){ //构造方法 有参数
this.num = num; //将参数赋给 类的属性 num
this.n = b; //同上
a = new int[b+1]; //new 数组a 长度为 参数b+1
a[0] = b; //a数组的第一个元素设置为 b
for(int i = 1;i <= b;i++) //循环 次数为 b次
a[i] = 1; //从第二个开始 都赋值为 1 此处会出错 数组越界 a没有第b个元素 只有 第b-1个元素 它可是从0开始的 0 到 b-1 刚好b个数值 改为 i<b
}

int select(){ //定义方法 select 返回值为 int
int i = 1,k = 0;
while(a[0] > 1){ //开始循环 如果 a的第一个元素大于 1 开始循环
if(a[i] == 1){ //判断
k++; //k 自增
if(k == num){ //如果 k 等于 num
k = 0;
a[i] = 0;
a[0]--;
}
}
i = i+1;
if(i > n){
i = i%n;
}
}
for(i=1;i<=n;i++){
if(a[i]==1){
return i;
}
}
return 0;
}
}

import java.io.*; //导入java.io包中的所有类
public class Monkey{ //定义公共类Monkey
int a[]; //整型数组