这个java程序
来源:百度知道 编辑:UC知道 时间:2024/06/09 02:43:54
ublic class One {
public static void main(String args[]){
int s;
int j[]=new int[]{1,234,354,351};
for(int i=0;i<j.length;i++)
{
for(int a=0;a<j.length;a++) {
if(j[i]<j[a]){s=j[a];
j[a]=j[i];
j[i]=s;
}
}
}
for(int i=0;i<j.length;i++)
System.out.println(j[i]);
}
}
帮我解读一下这个程序 我不明白为什么最后还要用for语句啊,什么意思啊 还要写一遍for语句。谢谢
public static void main(String args[]){
int s;
int j[]=new int[]{1,234,354,351};
for(int i=0;i<j.length;i++)
{
for(int a=0;a<j.length;a++) {
if(j[i]<j[a]){s=j[a];
j[a]=j[i];
j[i]=s;
}
}
}
for(int i=0;i<j.length;i++)
System.out.println(j[i]);
}
}
帮我解读一下这个程序 我不明白为什么最后还要用for语句啊,什么意思啊 还要写一遍for语句。谢谢
因为你的打印语句在for外面,想要输出所有的值只能循环打印,不然输出的就是最后的那个值。
并且i变量的所指范围只在第一个for内部,跳出第一个FOR后他就不认识了
最后for遍历了一下j这个数组,这个应该是个冒泡排序,把数组里面内容按大小个排了一下,最后打印出来
前面两个FOR是比较j数组中每两个数的大小,从大到小排列。
最后一个FOR语句是将j数组中的所有元素在控制台输出。
前面的两个for 是双重循环是为了将一维数组进行排序的,
最生一个for句是将排好序的一维数组打印出来
最后那个是打印输出,还有你那第二个for好象有问题把,你这要是排序的话应该是for(int a=0;a<i;a++ )把,本人水平有限.就看出这么多.