问java中随机输入参数的实现方法~~谢谢

luoluonet 2006-03-20 04:00:13
//对一系列数进行升序排列
class example{
static void sort(int []a){
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[j]<a[i]){
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
System.out.print(a[i]+" ");
}
}
public static void main(String []args){
int []a={10,20,9,25,11,13};
sort(a);
}
}
这个程序对一固定数组中的数字进行升序排列,问题是现在想要随机输入一系列数字进行排序,查找了java书中的I/O包,可使用BufferedReader br=new BufferedReader(new InputStreamReader(System.in))进行随机输入,可是缓冲输入流只能输入字符串,那么数字类型的怎么随机输入?有没有直接的方法?还是要进行Integer.parseInt()转换类型?谢谢D人指点~~
...全文
178 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
huluobowangmeng 2006-03-21
在C确定之后把这些数塞进数组里.开始排吧.
  • 打赏
  • 举报
回复
huluobowangmeng 2006-03-21
循环执行
system.in来输入。
直道满足你的特定结束操作。比如输入字符C。
然后开始排吧。

  • 打赏
  • 举报
回复
luoluonet 2006-03-21
没人回答拉?
  • 打赏
  • 举报
回复
luoluonet 2006-03-20
Dan1980(不用IDE的大傻瓜) ( ) 信誉:98 2006-03-20 17:22:00 得分: 0
你想自己输入的话,那当然只能用System.in啦,没有别的办法。
另:Arrays是在java.util包里面的,可以实现功能很强,效率很高的排序。
-------------------------------------------------------------------------
Arrays.sort()用法我明白了,可是你说只能用System.in,说的还不够具体啊,能不能再具体点啊?
另外请问楼上你写的int [] intArray = new int[20];为什么要让它成为固定大小的数组,现在我就是想自己随便输入一些数字,并不知道数组的长度,另外你说的Scanner我试了一下,不行啊,编译提示说Scanner sc = new Scanner(System.in);这一行 cannot resolve symbol,这是怎么回事?
注:有的朋友可能误会了,我并不是想要程序随机产生一些数,只是自己想要随意输入一些数~~


  • 打赏
  • 举报
回复
tygker 2006-03-20
int [] intArray = new int[20];
int index = 0;
Scanner sc = new Scanner(System.in);//Scanner在java.util.*包中

System.out.println("请输入整数,并以true结束");
while(sc.hasNextInt()){
int j = sc.nextInt();
intArray[index++] = j;
if(sc.hasNextBoolean()){
sc.close();
break;
}
}
sort(intArray);
  • 打赏
  • 举报
回复
wizardblue 2006-03-20
public class RandomDemo {
public static void main(String[] args) {
int [] test = getTestData(10);
Arrays.sort(test);
}

public static int[] getTestData(int size) {
Random r = new Random();
int[] res = new int[size];
for (int i = 0; i < size; i++) {
res[i] = r.nextInt();
}
return res;
}
}
  • 打赏
  • 举报
回复
qixiang77 2006-03-20
你的意思是想让程序随即产生一组数,然后测试你的程序是否正确,对吧?
教你个方法:
long[] array = new long[20];//建一个数组
for(int i=0; i<10000;i++) //随即产生10000个数组
{
for(int j=0;j<20;j++)
{
array[j]=(int)(java.lang.Math.Random()*100000);//随即赋值
}
.....
.....//调用你的排序方法

}
  • 打赏
  • 举报
回复
Dan1980 2006-03-20
你想自己输入的话,那当然只能用System.in啦,没有别的办法。

另:Arrays是在java.util包里面的,可以实现功能很强,效率很高的排序。
  • 打赏
  • 举报
回复
luoluonet 2006-03-20
我的意思是我想自己随便输入一系列数字(就是说我想输入啥就输入啥),然后进行排序,楼上说的Math.random或java.util.Random类不能实现这个目的吧~~那么用什么方法实现?另外再请问楼上,你说的Arrays.sort()方法括号里的参数是数组类型的吗?比如说:
int []a={10,20,9,25,11,13};
Arrays.sort(a);就能实现排序吗?我试了一下不行,是不是不是这样用?
  • 打赏
  • 举报
回复
Dan1980 2006-03-20
用Math.random()或者java.util.Random类的一系列方法,具体用法请参阅Javadoc。

另外,Arrays.sort()方法可以实现排序,不需要自己写方法。
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE

6.2w+

社区成员

Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
帖子事件
创建了帖子
2006-03-20 04:00
社区公告
暂无公告