新手作业不会,来个高手求告诉。。。

今天老师给的题目有点难,求告诉我怎么做,有没有好人?图片

1、这个没用工具编译,大致思路是这样
String[] names = new String[21]{}; //这个数组里面添加学生名称
for(int i = 0; i < 19; i++){
int n = names.length;
int random = (int)Math.random()*n;
System.out.println(i + names[random]);
//把最后一个元素替代指定的元素
names[random] = names[n-1];
//数组缩容
names = Arrays.copyOf(names, n-1);
}

System.out.println(names);

2、
int peachNum = 17;
String[] names = new String[]{"小明", "小华", "小张", "小刚", "小阳"};

for(int i = 0; i < peachNum; i++){
String[] arr = new String[5];
if(i % 5 == 0){//没五次生成一个随机数组
int k = 0;
while(k < 5){
int r = (int) Math.random()*names.length;
if(!Arrays.asList(arr).contains(names[r])){ //如果该随机数组不重复
arr[k] = names[r];
k++;
}
}
}
System.out.println("第" + i + "个桃子," + arr[i%5])

}

3、
class A{
public void add(){
}
}
class B extends A{
public void sub(){
}
}
class C extends B{
public void mul(){
}
}
class D extends C{
public void div(){
}
}

class BaseNum extends D{
}

public class Test {

/**
 * @param args
 */
public static void main(String[] args) {
    int taozi = 17;
    int diyigeren = 0;
    int diergeren = 0;
    int disangeren = 0;
    int disigeren = 0;
    int diwugeren = 0;

    for (int i = 1; i <= taozi; i++) {
        if (taozi /5 >=i-1) {

            diyigeren++;
        }
        if (taozi /5 >=i-1) {

            diergeren++;
        }
        if (taozi /5 >=i) {

            disangeren++;
        }
        if (taozi /5 >=i) {

            disigeren++;
        }
        if (taozi /5 >=i) {

            diwugeren++;
        }
    }

        System.out.println("个人:" + diyigeren);
        System.out.println("个人:" + diergeren);
        System.out.println("个人:" + disangeren);
        System.out.println("个人:" + disigeren);
        System.out.println("个人:" + diwugeren);






}

}
你看下这样行不