import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Random; import java.util.Set; public class Main { public static void main(String[] args) { int[] ball = new int[100];
//随机生成一个1-100的顺序,结果存放在set中,防止重复 Set<Integer> set = new LinkedHashSet<Integer>(); Random rand = new Random(); int num; while(set.size() < 100) { num = rand.nextInt(100); set.add(num + 1); }
public static void main(String[] args) { Set<Integer> box = new LinkedHashSet<Integer>(); Random random = new Random(); while (box.size() < 100) { box.add(random.nextInt(100)); } Iterator<Integer> iterator = box.iterator(); int y = 1; while (iterator.hasNext()) { if (y % 10 == 1) { System.out.println(); System.out.print("第" + (y / 10 + 1) + "个盒子里放的球:"); } System.out.print(iterator.next() + " ,"); y++; } }
package com;import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ static List a = new ArrayList<Integer>(); public static void main(String[] args) { // TODO Auto-generated method stub List list=new ArrayList<Integer>();
import java.util.HashSet; import java.util.Set;public class Test { public static void main(String args[]) { init(); }
public static void init() { Set<Ball> set = new HashSet<Ball>(); Balls[] bs = new Balls[10]; for(int i = 0; i < bs.length; i ++) { bs[i] = new Balls(); }
for(int i = 0; i < 100; i ++) { Ball b = new Ball(i); set.add(b); }
int k = 0; for(Ball b : set) { k ++; bs[k%10].addBall(b); } for(Balls balls : bs) { System.out.println(balls); } } }class Ball { int id; public Ball(int id) { this.id = id; } public boolean equals(Object obj) { if(obj instanceof Ball) { Ball b = (Ball)obj; return this.id == b.id; } return false; } public int hashCode() { return id ^ 12345678 ^ 31; } public String toString() { return "(ball " + id + ")"; } }class Balls { private Set<Ball> balls; public Set<Ball> getBalls() { return balls; }
public Balls() { balls = new HashSet<Ball>(); }
public void addBall(Ball b) { if(balls.size() == 10) { return ; } balls.add(b); }
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Random;
import java.util.Set;
public class Main {
public static void main(String[] args) {
int[] ball = new int[100];
//初始化,给每个球一个编号,从1到100
for(int i=0; i<ball.length; i++) {
ball[i] = i + 1;
}
//随机生成一个1-100的顺序,结果存放在set中,防止重复
Set<Integer> set = new LinkedHashSet<Integer>();
Random rand = new Random();
int num;
while(set.size() < 100) {
num = rand.nextInt(100);
set.add(num + 1);
}
//模拟10个盒子,每个盒子装10个球,从set中按顺序取,10个10个放入盒子中
int[][] box = new int[10][10];
Iterator<Integer> iterator = set.iterator();
for(int i=0; i<box.length; i++) {
for(int j=0; j<box[i].length; j++) {
box[i][j] = iterator.next();
}
}
//打印出每个盒子中球的编号
for(int i=0; i<box.length; i++) {
System.out.print("第" + (i+1) + "盒子中的球:");
StringBuffer sb = new StringBuffer();
for(int j=0; j<box[i].length; j++) {
sb.append(box[i][j] + ",");
}
System.out.println(sb.substring(0, sb.length() - 1));
}
}
}上面简单实现了一个,楼主可以看看!
Set<Integer> box = new LinkedHashSet<Integer>();
Random random = new Random();
while (box.size() < 100) {
box.add(random.nextInt(100));
}
Iterator<Integer> iterator = box.iterator();
int y = 1;
while (iterator.hasNext()) {
if (y % 10 == 1) {
System.out.println();
System.out.print("第" + (y / 10 + 1) + "个盒子里放的球:");
}
System.out.print(iterator.next() + " ,");
y++;
}
}
package com;import java.util.ArrayList;
import java.util.List;
public class Test { /**
* @param args
*/
static List a = new ArrayList<Integer>();
public static void main(String[] args) {
// TODO Auto-generated method stub
List list=new ArrayList<Integer>();
for(int i=1;i<=100;i++){
list.add(i);
}
java.util.Collections.shuffle(list);
for(int i=0;i<10;i++){
a=list.subList(i*10,i*10+10);
System.out.println(a);
}
}}
public static void main(String[] args) {
Set<Integer> box = new HashSet<Integer>();
for(int i=0;i<100;i++){
box.add(i+1);
}
Iterator<Integer> iterator = box.iterator();
int y = 1;
while (iterator.hasNext()) {
if (y % 10 == 1) {
System.out.println();
System.out.print("第" + (y / 10 + 1) + "个盒子里放的球:");
}
System.out.print(iterator.next() + " ,");
y++;
}
}
List<Integer> source=new ArrayList<Integer>();
for(Integer i=1;i<=100;i++)//100个球
source.add(i);
System.out.println("source= "+source);
Set<Integer> set=new HashSet<Integer>();
for(int i=0;i<10;i++)//10个盒
{
while(set.size()<10)
{
int j=(int)(Math.random()*source.size());
set.add(source.get(j));
source.remove(j);
}
System.out.print("第["+(i+1)+"]=");
for(Integer g:set)
{
System.out.print(" "+g);
}
System.out.println();
set.clear();
}
for(int i = 0 ; i < 10 ; i++)
for(int j = 0 ; j < 10 ; j++)
{
每次都用 random.nextInt(list.size());
得到的数字的位置,移除list。
}
}这样就可以避免每个盒子里面的数字重复,而且每个盒子的球是随机的。试一下吧。
int[] balls = new int[100];
for (int i = 0; i < 100; i++) {
balls[i] = i;
}
Random r = new Random();
int[][] boxes = new int[10][10];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
int temp = r.nextInt(100 - 10 * i - j) + 10 * i + j;
boxes[i][j] = balls[temp];
balls[temp] = balls[10 * i + j];
}
}
for (int i = 0; i < 10; i++) {
System.out.print("Box " + i + ": ");
for (int j = 0; j < 10; j++) {
System.out.print(boxes[i][j] + " ");
}
System.out.println();
}
}
这样你们不负责任的直接给代码,你们认为这样能让楼主学到东西?
编程最重要的是思路,而不是代码懂?
这个是会重复的,4楼是做了判断set大小是否为100所以是正确的
random()这个是会重复不错了,但Set是不可能出现重复的元素4楼相比2楼而言,更胜一层。
对于第i次(0<=i<100),随机取出数组中第i到第99项中的随机项,记录,并且将其与第i项交换
zhishaizi => "1-100"
arr = zhishaizi(time % 100, $)
put("1-100",arr);
import java.util.Set;public class Test { public static void main(String args[]) {
init();
}
public static void init() {
Set<Ball> set = new HashSet<Ball>();
Balls[] bs = new Balls[10];
for(int i = 0; i < bs.length; i ++) {
bs[i] = new Balls();
}
for(int i = 0; i < 100; i ++) {
Ball b = new Ball(i);
set.add(b);
}
int k = 0;
for(Ball b : set) {
k ++;
bs[k%10].addBall(b);
}
for(Balls balls : bs) {
System.out.println(balls);
}
}
}class Ball {
int id;
public Ball(int id) {
this.id = id;
}
public boolean equals(Object obj) {
if(obj instanceof Ball) {
Ball b = (Ball)obj;
return this.id == b.id;
}
return false;
}
public int hashCode() {
return id ^ 12345678 ^ 31;
}
public String toString() {
return "(ball " + id + ")";
}
}class Balls {
private Set<Ball> balls;
public Set<Ball> getBalls() {
return balls;
}
public Balls() {
balls = new HashSet<Ball>();
}
public void addBall(Ball b) {
if(balls.size() == 10) {
return ;
}
balls.add(b);
}
public String toString() {
String str = "";
for(Ball b : balls) {
str += b.toString() + " ";
}
return str;
}
}