Java 如何在不使用集合的情况下按升序打印偶数,降序打印奇数

Java 如何在不使用集合的情况下按升序打印偶数,降序打印奇数,java,Java,输入: 10 3 1 45 67 2 56 89 22 11 69 2 22 56 89 69 67 45 11 3 1 import java.util.Arrays; import java.util.Scanner; class T { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(S

输入:

10
3 1 45 67 2 56 89 22 11 69
2 22 56 
89 69 67 45 11 3 1
import java.util.Arrays;
import java.util.Scanner;

class T {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner sc = new Scanner(System.in);
        System.out.println("enter a number");
        int n = sc.nextInt();

        int s[] = new int[n];
        for (int i = 0; i < n; i++) {
            int e = sc.nextInt();
            s[i] = e;
        }

        Arrays.sort(s);
        // Even in ascending
        System.out.println("\nEven numbers in ascending order:");
        for (int j = 0; j < n; j++) {

            if (s[j] % 2 == 0) {
                System.out.print(s[j] + " ");
            }
        }

        // Odd in descending
        System.out.println("\nOdd numbers in descending order:");
        for(int j = (n -1); j >= 0; j--) {
            if (s[j] % 2 == 1) {
                System.out.print(s[j] + " ");
            }
        }
    }
}
enter a number
10
3 1 45 67 2 56 89 22 11 69

Even numbers in ascending order:
2 22 56 
Odd numbers in descending order:
89 69 67 45 11 3 1 
输出(我想要的):

10
3 1 45 67 2 56 89 22 11 69
2 22 56 
89 69 67 45 11 3 1
import java.util.Arrays;
import java.util.Scanner;

class T {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner sc = new Scanner(System.in);
        System.out.println("enter a number");
        int n = sc.nextInt();

        int s[] = new int[n];
        for (int i = 0; i < n; i++) {
            int e = sc.nextInt();
            s[i] = e;
        }

        Arrays.sort(s);
        // Even in ascending
        System.out.println("\nEven numbers in ascending order:");
        for (int j = 0; j < n; j++) {

            if (s[j] % 2 == 0) {
                System.out.print(s[j] + " ");
            }
        }

        // Odd in descending
        System.out.println("\nOdd numbers in descending order:");
        for(int j = (n -1); j >= 0; j--) {
            if (s[j] % 2 == 1) {
                System.out.print(s[j] + " ");
            }
        }
    }
}
enter a number
10
3 1 45 67 2 56 89 22 11 69

Even numbers in ascending order:
2 22 56 
Odd numbers in descending order:
89 69 67 45 11 3 1 
我想按升序打印偶数,降序打印奇数,而不使用集合,因为我不知道集合。在这里,请帮助我如何按降序打印奇数,我可以一直打印到偶数

代码:

导入java.util.array;
导入java.util.Scanner;
T类{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入一个数字”);
int n=sc.nextInt();
int s[]=新的int[n];
int i;
对于(i=0;i
代码:

10
3 1 45 67 2 56 89 22 11 69
2 22 56 
89 69 67 45 11 3 1
import java.util.Arrays;
import java.util.Scanner;

class T {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner sc = new Scanner(System.in);
        System.out.println("enter a number");
        int n = sc.nextInt();

        int s[] = new int[n];
        for (int i = 0; i < n; i++) {
            int e = sc.nextInt();
            s[i] = e;
        }

        Arrays.sort(s);
        // Even in ascending
        System.out.println("\nEven numbers in ascending order:");
        for (int j = 0; j < n; j++) {

            if (s[j] % 2 == 0) {
                System.out.print(s[j] + " ");
            }
        }

        // Odd in descending
        System.out.println("\nOdd numbers in descending order:");
        for(int j = (n -1); j >= 0; j--) {
            if (s[j] % 2 == 1) {
                System.out.print(s[j] + " ");
            }
        }
    }
}
enter a number
10
3 1 45 67 2 56 89 22 11 69

Even numbers in ascending order:
2 22 56 
Odd numbers in descending order:
89 69 67 45 11 3 1 
说明:

10
3 1 45 67 2 56 89 22 11 69
2 22 56 
89 69 67 45 11 3 1
import java.util.Arrays;
import java.util.Scanner;

class T {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner sc = new Scanner(System.in);
        System.out.println("enter a number");
        int n = sc.nextInt();

        int s[] = new int[n];
        for (int i = 0; i < n; i++) {
            int e = sc.nextInt();
            s[i] = e;
        }

        Arrays.sort(s);
        // Even in ascending
        System.out.println("\nEven numbers in ascending order:");
        for (int j = 0; j < n; j++) {

            if (s[j] % 2 == 0) {
                System.out.print(s[j] + " ");
            }
        }

        // Odd in descending
        System.out.println("\nOdd numbers in descending order:");
        for(int j = (n -1); j >= 0; j--) {
            if (s[j] % 2 == 1) {
                System.out.print(s[j] + " ");
            }
        }
    }
}
enter a number
10
3 1 45 67 2 56 89 22 11 69

Even numbers in ascending order:
2 22 56 
Odd numbers in descending order:
89 69 67 45 11 3 1 
由于数组已排序(按升序),请先打印偶数。

然后以相反方向(desc顺序)遍历数组,并打印出奇数。

反向标记并使用相同的for循环打印:

int x = 0;

for (int j = 0; j < n; j++) {

    if (s[j] % 2 == x)
        System.out.println(s[j]);

    if (j == n - 1 && x == 0) {
        x = 1;
        j = 0;
    }
}
intx=0;
对于(int j=0;j