自己编写的代码如下,有一个问题是排序不成功有条件的测试下,
帮小弟看下什么问题,谢谢各位了。package test;
import java.util.*;public class MaoPao{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请您输入要排序的数组的个数");
int geshu = input.nextInt();
int[] a = new int[geshu];
for(int i=0;i<a.length;i++){
System.out.println("请您输入数组中第"+(i+1)+"个数");
a[i]=input.nextInt();
} for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
int temp=0;
a[j]=temp;
a[j+1]=a[j];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.println("排序后数组的序列为"+a[i]);
}
}
}
帮小弟看下什么问题,谢谢各位了。package test;
import java.util.*;public class MaoPao{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请您输入要排序的数组的个数");
int geshu = input.nextInt();
int[] a = new int[geshu];
for(int i=0;i<a.length;i++){
System.out.println("请您输入数组中第"+(i+1)+"个数");
a[i]=input.nextInt();
} for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
int temp=0;
a[j]=temp;
a[j+1]=a[j];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.println("排序后数组的序列为"+a[i]);
}
}
}
解决方案 »
- 前端用flash,服务器用servlet,是否有这方面的框架或工具可用?
- java中的this.getText是什么意思呢?
- 如CSDN一样;每天登陆不管多少次;给加一次分
- 一个关于计算梯形面积的jsp代码,函数不能用javascript的function编写,求教导错在哪了
- 这种下拉列表框Struts框架怎么得到值啊?
- win+apache+tomcat出现503错误,请大家帮我看一下日志文件
- sql server2000 在windows2003的jdbc问题
- radio取值为什么总是为NULL,急!!!
- 请教大侠,那里有比较好的JSP+ORACLE论坛下载?
- 在linux上用哪种jsp引擎较好?
- response.write的用法问题
- 异常javax.servlet.ServletException: org.jdom.Element: method getValue()Ljava/lang
int temp=0;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
int temp=0; a[j]=temp; 造成都变成0了
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
int temp=0;
a[j]=temp;
a[j+1]=a[j];
a[j+1]=temp;
}
}
}
for循环出了问题啊。看这句代码:int temp=0;a[j]=temp; 每次都是先把0赋值给了a[j],这样排序之后当然是前面都是0,只有最后一个才是你输入的数啊。。for循环代码修改如下:、
if(a[j]>a[j+1]){
int temp=0;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
OK。就这样了。