用Java编一个方法,急,在线等

来源:百度知道 编辑:UC知道 时间:2024/06/05 07:45:25
产生一个非0随机偶数i,然后得出一个Multiplyer linkedlist这个linkedlist有这样的规律:multiplyer.size()是i+1前后2个是1中间的数是4,2,4,2,...4比如说i=10的话,linkedlist multiplyer是1,4,2,4,2,4,2,4,2,4,1
如果可能的话,最好是产生i是一个method,然后产生linkedlist是另一个method.然后linkedlist的method的参数是i在linkelist multiplyer这个method里面调用产生i的这个method.
问题补充:就是想要2个方法,第1个方法产生1个随机的正偶数,然后,第2个方法可以调用第1个方法来产生一个这个偶数i,而这个i加1就是第2个方法要返回的linkedlist的大小,这个linkedlist的特点就是第1个和最后1个数是1,中间是4,2,4,2,4这样以4开始,以4结束。比如i+1=11的话就是:1,4,2,4,2,4,2,4,2,4,1

import java.util.LinkedList;
import java.util.List;
import java.util.Random;

public class StrangeList {

private static int getRandomNumber() {
Random ran = new Random();// 随机数类
int num = ran.nextInt(50);// 生成随机整数,为控制长度,限制为0-50之间
num = num / 2 * 2;// 转化为偶数
return num;
}

public static List<Integer> getList() {
int size = getRandomNumber();// 生成正偶数
size++;// 加1成为LinkedList长度
System.err.println("size=" + size);// 打印size
List<Integer> list = new LinkedList<Integer>();
list.add(1);// 加入首元素1
for (int i = 1; i < size - 2; i++) {
// 添加中间的元素
if (i % 2 == 0) {
list.add(2);// 偶数项添加2
}
list.add(4);// 奇数项添加4
}
list.add(1);//加入尾元素1
return list;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.err.println(getList());// 验证结