今天老师给的题目有点难,求告诉我怎么做,有没有好人?
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);
}
}
你看下这样行不