匿名网友
2015-10-08
用java语言,生成一个1~n的随机数序列,当增加或删除一个元素时,使序列元素值动态更新
匿名网友
2015-10-08
用java语言,生成一个1~n的随机数序列,当增加或删除一个元素时,使序列元素值动态更新
【代码截图】
【运职全约增行截图】
【源代码】
package com.haha;
import ja很河比草va.util.ArrayLi良鱼述了st;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String args[]) {
Scanner scanner 360问答= new Scanner(***.in);
System.o章关略要也电呼叫银矛息ut.print("请输入n值 :");
in早举笑手新效斗t n = scanner.n船诗完育停extInt();
List<Integer> lists = new ArrayList<Integer>();
for 镇地再左句依汽绝(int i = 1; i <= 马术n; i++) {
lists.add(i);
}
C历死设清动前食笔妈ollections.shuffle(lists);
S失听医径移检刑北ystem.out.prin分tln("生成的随机数序列为:" + lists.toString());
System.out.println("-亲---------------------------余毛叶深材令混风灯展重--------------------");
while (true) {
System.out.println("请选择:1. 增加数字 2.删除数字 ");
System.out.print("您的选择是:");
int input = scanner.nextInt();
switch (input) {
case 1:
System.out预论块庆紧级委吧行.print("请输入增加的数:");
int add=scanner.ne终象杂续由半根xtInt();
addNumber(lists, add);
break;
case 2:
System.out.print("请输入删除的数:");
int del=scanner.next担销转但月段测电Int();
delNumber(lists, del);
break;
default:
break;
}
}
}
public static void addNumber友她卫营岁足研(List<Integer> lists, int add) {
lists.add(add);
Collections.shuffle(lists);
System.out.println("增加后的随机序列为:" + lists.toString());
System.out.println("-----------叶攻-------------------------------------");
}
public static void delNumber(List<Integer> lists, int del) {
int k=0;
for (int i = 0; i < lists.size(); i++) {
if (lists.get(i) == del) {
k++;
lists.remove(i);
}
}
if (k==0) {
System.out.println("您所删除的 "+del+" 不存在,请重新选择!");
System.out.println("------------------------------------------------");
return;
}
Collections.shuffle(lists);
System.out.println("删除后的随机序列为:" + lists.toString());
System.out.println("------------------------------------------------");
}
}