java编程问题。用两个for循环来把输入的整数从小到大排序。但是我没看懂为什么是z[i]<z[n],这样不就是从大到小排序吗?计算机中应该怎样执行的这一段?
这样的代码看的费劲
数组排序的方法有冒泡和选择比较的好理解:
代码如下:
package com.tx.wl.p10;
public class ArrayDemo {
public static void main(String[] args) {
int[] a = { 3, 43, 22, 4, 22, 31, 23 };
System.out.println("遍历数组:");
showArray(a);
System.out.println("冒泡排序:");
maoPao(a);
showArray(a);
System.out.println("选择排序:");
xuanze(a);
showArray(a);
}
private static void xuanze(int[] a) {
int[] b = a;
for (int i = 0; i < b.length; i++) {
int index = i;
for (int j = i; j < b.length; j++) {
if (a[index] > b[j]) {
index = j;
}
}
int temp = b[index];
b[index] = b[i];
b[i] = temp;
}
}
private static void maoPao(int[] a) {
int[] c = a;
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c.length - i - 1; j++) {
if (c[j] > c[j + 1]) {
int temp = c[j];
c[j] = c[j + 1];
c[j + 1] = temp;
}
}
}
}
private static void showArray(int[] a) {
for (int aa : a) {
System.out.print(aa + " ");
}
System.out.println();
}
}
理解型记忆,里面的遍历用的是增强for,原理就相当于
for(int i=0; i<a.length;i++){
System.ou.tprintln(a[i]);
}
...用两个for循环来把输入的整数从小到大排序。
public static void main(String[] args) { int[] a = { 3, 43, 22, 4, 22, 31, 23 };System.out.println("遍历数组:");showArray(a);System.out.println("冒泡排序:");maoPao(a);showArray(a);System.out.println("选择排序:");xuanze(a);showArray(a);} private static void...
在java中,从键盘上输入10个整数.并从小到大的顺序输出
System.out.print("请输入第"+(i+1)+"个数:");a[i] = sc.nextInt();} System.out.println();System.out.println("排序前:");for(int i=0; i<10; i++){ System.out.print(a[i]+" ");} System.out.println();\/\/排序核心代码 for(int i=0; i<10; i++){ for(int j...
用java语言编程:从键盘输入30个整数,然后进行排序(按从小到大...
public static void main(String[] args) { int num[] = new int[30];Scanner scanner = new Scanner(System.in);for (int i = 0; i < num.length; i++) { num[i]= scanner.nextInt(); \/\/读取30个数存进num } Arrays.sort(num);\/\/对num数组进行排序 System.out.println(Arrays....
输入四个整数,要求按从小到的顺序输出。(用for语句)麻烦了
import java.io.InputStreamReader;public class Test { public static void main(String args[]) { System.out.println("请输入三个数,使用','分隔:");BufferedReader br = new BufferedReader(new InputStreamReader(System.in));try { String tempString = "";while (null != (tempString =...
java:输入五个数,输出最大最小值
import java.util.Scanner;class gt { public static void main(String[] args) { \/\/ TODO Auto-generated method stub Scanner input=new Scanner(System.in);int[] a=new int[5];int max=0,min=0;System.out.print("输入五个整数:");for(int i = 0 ;i<5;i++){ a[i]=input....
...输出他的转置,比如输入12345,输出就为54321,要求使用for循环...
public static void main(String[] args) {Scanner in =new Scanner(System.in);System.out.println("请输入正整数!");String aa=in.next();String [] b=aa.split("");String [] bb=new String[]{};List<String> list=new ArrayList<String>();for (int i = 0; i < b.length; ...
java编写应用程序,输入 10个整数,然后按从小到大的顺序输出大神们帮帮...
public static void main(String[] args) { Scanner input = new Scanner(System.in);\/\/创建Scanner对象 int[] arrayInt = new int[10];\/\/声明一个数组 长度为10 for (int i = 0; i < arrayInt.length; i++) { \/\/循环输入数字,放入arrayInt数组 System.out.print("请输入数字:"); ...
1*2*3*4*5*n用java编程怎么用for循环来写
for(int i=1;i<=n;i++){ int sum=1;sum=sum*i } System.out.println("sun="+sum);
怎样使用java编程对产生的随机数:1~n 进行由小到大排序啊?
} \/\/ 排序 Arrays.sort(number); \/\/ 输出 for(int i:number){ System.out.print(i + " "); } } public static void main(String[] args) { \/\/ TODO Auto-generated method stub new Sort(); }}这里我只设定了数组大小为10,如果大小不满意,可以手动...
输入三个整数x,y,z,请把这三个数由小到大输出:用JAVA语言编程
题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。2.程序源代码:main(){ int x,y,z,t;scanf("%d%d%d",&x...