![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
在java中 如何随机排列几个数字
4个回答
2013-09-17
展开全部
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Random;
public class test1 {
public static void main(String arg[]){
String str="";
Random rd=new Random();
int num;
System.out.print("请输入几个数字,用逗号分隔开:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try{
str=br.readLine();
}catch(Exception e){
e.printStackTrace();
}
String[] array=str.split(",");
boolean[] bool=new boolean[array.length];
System.out.print("随机排列这些数字如下:");
for(int i=0;i<array.length;i++){
do{
num=rd.nextInt(array.length);
}while(bool[num]);
bool[num]=true;
System.out.print(array[num]+",");
}
}
}
import java.io.InputStreamReader;
import java.util.Random;
public class test1 {
public static void main(String arg[]){
String str="";
Random rd=new Random();
int num;
System.out.print("请输入几个数字,用逗号分隔开:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try{
str=br.readLine();
}catch(Exception e){
e.printStackTrace();
}
String[] array=str.split(",");
boolean[] bool=new boolean[array.length];
System.out.print("随机排列这些数字如下:");
for(int i=0;i<array.length;i++){
do{
num=rd.nextInt(array.length);
}while(bool[num]);
bool[num]=true;
System.out.print(array[num]+",");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-17
展开全部
我用5个数据来随机排列吧
public class Test1 {
public Test1() {
}
public void test(){
int[] arr = {5,7,19,612,59};//你要自动排列的数据
int[] num = new int[5];
for(int i=0;i<5;i++){//用于取得随机的0-4(五个数据,我取得的是数组的下标)
int m =0;
for(int k=0;;k++){//5次不一定取得到0-4,所以要不停的取数
int j=0;
m =(int)((Math.random())*5);
while(j<i){
if(m == num[j]){
break;
}
j++;
}
if(j==i){//当相等时表示上面的数据没有重复
num[i]=m;
break;
}
}
}
for(int k=0;k<5;k++){
int n = num[k];//取得数组的下标
System.out.println(arr[n]);//我把随机的数据打印出来
}
}
public static void main(String[] args) {
Test1 test = new Test1();
test.test();
}
}
我执行了 你直接运行可以了
记得给分哦·
public class Test1 {
public Test1() {
}
public void test(){
int[] arr = {5,7,19,612,59};//你要自动排列的数据
int[] num = new int[5];
for(int i=0;i<5;i++){//用于取得随机的0-4(五个数据,我取得的是数组的下标)
int m =0;
for(int k=0;;k++){//5次不一定取得到0-4,所以要不停的取数
int j=0;
m =(int)((Math.random())*5);
while(j<i){
if(m == num[j]){
break;
}
j++;
}
if(j==i){//当相等时表示上面的数据没有重复
num[i]=m;
break;
}
}
}
for(int k=0;k<5;k++){
int n = num[k];//取得数组的下标
System.out.println(arr[n]);//我把随机的数据打印出来
}
}
public static void main(String[] args) {
Test1 test = new Test1();
test.test();
}
}
我执行了 你直接运行可以了
记得给分哦·
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-17
展开全部
用Random函数
import java.util.ArrayList;
import java.util.Random;
import javax.swing.JOptionPane;
public class MyOrder {
Random random = new Random();
ArrayList<Integer> alList = new ArrayList<Integer>();
public MyOrder(){
JOptionPane.showMessageDialog(null,"请输入10个数字");
for(int i=0;i<10;i++){
//获取10个数字,并装入ArrayList
int index = Integer.parseInt(javax.swing.JOptionPane.showInputDialog(null,"请输入地"+i+"个数字"));
alList.add(index);
}
int size = alList.size();//alList的长度
for(int i=0;i<size;i++){
//用random.nextInt(size-i)来获取arrayList长度范围内的随机数作为从alList中取值的序号,size-i防止越界
int temp=(int)random.nextInt(size-i);
//取出随机数所对应的值
int one=alList.remove(temp);
System.out.println(one);
}
}
public static void main(String[] args) {
new MyOrder();
}
}
import java.util.ArrayList;
import java.util.Random;
import javax.swing.JOptionPane;
public class MyOrder {
Random random = new Random();
ArrayList<Integer> alList = new ArrayList<Integer>();
public MyOrder(){
JOptionPane.showMessageDialog(null,"请输入10个数字");
for(int i=0;i<10;i++){
//获取10个数字,并装入ArrayList
int index = Integer.parseInt(javax.swing.JOptionPane.showInputDialog(null,"请输入地"+i+"个数字"));
alList.add(index);
}
int size = alList.size();//alList的长度
for(int i=0;i<size;i++){
//用random.nextInt(size-i)来获取arrayList长度范围内的随机数作为从alList中取值的序号,size-i防止越界
int temp=(int)random.nextInt(size-i);
//取出随机数所对应的值
int one=alList.remove(temp);
System.out.println(one);
}
}
public static void main(String[] args) {
new MyOrder();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-17
展开全部
黑海岸之恋 很经典。用标记,不错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询