簡體   English   中英

有人可以教我如何獲得這個 output

[英]Can someone teach me how to get this output

我是 java 的新手。 我正在嘗試使我的程序 output 這個 [5,4] [3] [2,1] 但我得到 [5,5] [4,4] [3,3] [2,2] [1, 1] ..我錯過了什么? 我試圖自己回答,但我就是想不出答案。

這是我的完整代碼:

   public static void main(String[]args){
    Scanner sc = new Scanner(System.in);

    System.out.print("Enter Array Size:");
    int arrSize = sc.nextInt();
    System.out.println("The Size of your Array is "+ arrSize);
    int arr[] = new int[arrSize];
    System.out.println("Enter "+arrSize+" Elements of your Array: ");
    for(int i=0;i<arr.length;i++){
        arr[i] = sc.nextInt();
    }
    for(int i=0; i<arr.length;i++){
        System.out.print(arr[i] + " ");
    }
    System.out.println(" ");
    for(int i=arr.length-1; i>=0;i--){
        System.out.print(Arrays.asList(arr[i]+","+arr[i]));
    }

}

試試這個代碼

        Scanner sc=new Scanner(System.in);
        System.out.print("Enter Array Size:");
        int f,midd=0;
        int arrSize = sc.nextInt();
        System.out.println("The Size of your Array is "+ arrSize);
        int arr[] = new int[arrSize];
        System.out.println("Enter "+arrSize+" Elements of your Array: ");
        for(int i=0;i<arr.length;i++){
            arr[i] = sc.nextInt();
        }
        if(arrSize%2==0){
            f=0;
        }
        else {
            f=1;
            midd=(int)(arrSize/2/2)+1;
        }
        for(int i=arrSize-1; i>=0;){
            if(f==0)
            {
                System.out.print(Arrays.asList(arr[i]+","+arr[i-1]));
                i-=2;
            }
            else{
                if(midd==i){
                    System.out.print(Arrays.asList(arr[i]));
                    i--;
                }
                else {
                    System.out.print(Arrays.asList(arr[i]+","+arr[i-1]));
                    i-=2;
                }
            }
        }

在主要方法 Output 中提供此程序:

Enter Array Size:5
The Size of your Array is 5
Enter 5 Elements of your Array: 
1
2
3
4
5
[5,4][3][2,1]

.

Enter Array Size:4
The Size of your Array is 4
Enter 4 Elements of your Array: 
1
2
3
4
[4,3][2,1]

.

Enter Array Size:7
The Size of your Array is 7
Enter 7 Elements of your Array: 
1
2
3
4
5
6
7
[7,6][5,4][3][2,1]

您可以嘗試以下方法。 我認為您需要將數組拆分為一對。

我假設在奇數長度的情況下,您將有一個帶有一個元素的中間對,而在數組長度為偶數的情況下,所有對都將有兩個元素。

public static void main(String[]args){
    Scanner sc = new Scanner(System.in);

    System.out.print("Enter Array Size:");
    int arrSize = sc.nextInt();
    System.out.println("The Size of your Array is "+ arrSize);
    int arr[] = new int[arrSize];
    System.out.println("Enter "+arrSize+" Elements of your Array: ");
    for(int i=0;i<arr.length;i++){
        arr[i] = sc.nextInt();
    }
    for(int i=0; i<arr.length;i++){
        System.out.print(arr[i] + " ");
    }
    System.out.println(" ");
    int i=arr.length-1;
    for(; i>arr.length/2;i-=2){
        System.out.print(Arrays.asList(arr[i]+","+arr[i-1]));
    }
    if(arr.length %2 == 0){
        System.out.print(Arrays.asList(arr[i]+","+arr[i-1]));
        i-=2;
    }else{
        System.out.print(Arrays.asList(arr[i]));
        i-=1;
    }
    for(; i>0;i-=2){
        System.out.print(Arrays.asList(arr[i]+","+arr[i-1]));
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM