随机产生两位数10个,并存放进一维数组,按从大到小排序,显示原始和排序后的结果。排序用方法实现
错在那里阿?
public class oliver
{
public oliver(int k) //利用产生随机数的方式为数组赋值。
{
int m;
int aa[]=new int[10];
for (int i=0;i<k;i++)
{
m=(int)(100*Math.random());
aa[i]=m;
System.out.println("原始数据:"+i);
System.out.println(aa[i]);
}
};
public void Sort(int aa[]) //按从大到小为数组排序。
{
int i=0;
for (int j=i+1;j<10;j++)
{
if (aa[i]>aa[j])
{int t=aa[i];aa[i]=aa[j];aa[j]=t;}
}
for (int h=0;h<10;i++)
{
System.out.println(" 排序后:"+h);
System.out.println(aa[h]);
}
}
public static void main(String args[]) //main函数
{
oliver chenhao=new oliver(10);
chenhao.Sort(aa[]);
}
错在那里阿?
public class oliver
{
public oliver(int k) //利用产生随机数的方式为数组赋值。
{
int m;
int aa[]=new int[10];
for (int i=0;i<k;i++)
{
m=(int)(100*Math.random());
aa[i]=m;
System.out.println("原始数据:"+i);
System.out.println(aa[i]);
}
};
public void Sort(int aa[]) //按从大到小为数组排序。
{
int i=0;
for (int j=i+1;j<10;j++)
{
if (aa[i]>aa[j])
{int t=aa[i];aa[i]=aa[j];aa[j]=t;}
}
for (int h=0;h<10;i++)
{
System.out.println(" 排序后:"+h);
System.out.println(aa[h]);
}
}
public static void main(String args[]) //main函数
{
oliver chenhao=new oliver(10);
chenhao.Sort(aa[]);
}
解决方案 »
- 新浪微博开放api,想参与进去,有什么案例或者书参考?
- wait和notify之间的线程通信问题
- 有高手帮看看问题出在哪,是关于双精度的数的问题
- java中如何读ic卡
- SUN有望提供中文版的Java API Docs
- 每个执行的java SomeClass 都分别启动了各自的JVM吗?
- 如何让避免center不会跟谁temp改变?
- 为何win98下中文显示正常,2000下中文则变成“□□”
- 200分送上,欢迎讨论用java调用vs.net所创建的web服务!
- 紧急求教:网上虚拟展览馆展厅如何实现,具体效果见下面链接,Applet!
- JInternalFrame的焦点问题,救急啊!!
- 如果不用batch,如何实现一个事务执行多个操作?
1.排序算法错误
for (int j=i+1;j<10;j++)
{
if (aa[i]>aa[j])
{int t=aa[i];aa[i]=aa[j];aa[j]=t;}
}
改为:
int t = 0;
for (int i=0; i < 9; i++){
for(int j=i+1;j<10;j++){
if(aa[i]<aa[j]){
t=aa[i];
aa[i]=aa[j];
aa[j]=t;
}
}
}
for (int h=0;h<10;i++) // i++ 改成 h++
{
System.out.println(" 排序后:"+h);
System.out.println(aa[h]);
}改为:
System.out.println(" 排序后:");
for (int h = 0; h < 10; h++) {
System.out.print(aa[h]+" ");
}3.
public void Sort(int aa[]) //此处不用加参数 int aa[],把 aa[] 的定义放在类的开始就行了
如:
先改 public void Sort()
再在类的开始加
class oliver {
private int aa[]; //加这句4.chenhao.Sort(aa[]); //去掉 aa[], 就算是要传参数也要写成这样:
chenhao.Sort(aa);
import java.util.*;class oliver {
private int aa[];
public oliver(int k) { //利用产生随机数的方式为数组赋值。
int m;
aa = new int[10];
System.out.println("原始数据");
for (int i = 0; i < k; i++) {
m = (int) (100 * Math.random());
aa[i] = m;
System.out.print(aa[i]+" ");
//System.out.println(aa[i]);
}
}; public void Sort() { //按从大到小为数组排序。
int t = 0;
for (int i=0; i < 9; i++){
for(int j=i+1;j<10;j++){
if(aa[i]<aa[j]){
t=aa[i];
aa[i]=aa[j];
aa[j]=t;
}
}
}
System.out.println(" 排序后:");
for (int h = 0; h < 10; h++) {
System.out.print(aa[h]+" ");
}
} public static void main(String args[]) { //main函数
oliver chenhao = new oliver(10);
System.out.println();
chenhao.Sort();
}
}
for (int i=0; i < 9; i++){
for(int j=i+1;j<10;j++){
if(aa[i]<aa[j]){
t=aa[i];
aa[i]=aa[j];
aa[j]=t;
}
}
}