有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使程序显示用户输入的整数的相反顺序?

import java.util.Scanner;

public class Assign58{

  public static void main(String[] args){
    Scanner keyboard = new Scanner(System.in);
    int numintegers, j; 
    System.out.print("Enter a positive integer: ");
    numintegers = keyboard.nextInt();
    System.out.print("Now enter " + numintegers + " integers: "); 
    int[] integers = new int[numintegers];

    for (int i=0; i < integers.length; i++){
      integers[i] = keyboard.nextInt();
      int[] reverse = new int[integers.length];

      for (i = 0, j = reverse.length - 1; i < reverse.length; i++, j--){
        reverse[j] = integers[i];
      }
    }

    System.out.print("In reverse: ");

    for (int i=0; i < integers.length; i++)
      System.out.print(integers[i] + " ");

    }
  }

因此,如果整数是3 4 6 2 9,我将如何更改上面代码中的以下内容:

for (int i=0; i < integers.length; i++)
    System.out.print(integers[i] + " ");

要使输出显示为:

9 - 2 - 6 - 4 - 3

请记住,我需要它以相反的顺序出现,我希望这些破折号在这些数字之间,并且在最后一个数字之后不应该有破折号

我希望有人能帮助我!谢谢


共 (6) 个答案

  1. # 1 楼答案

    使用此代码以相反顺序打印阵列

    int j = integers.length;        //integers is the array in which the values are stored.
    
    for(int k=j-1; k>=0; k--)
        System.out.print(integers[k]+"-");
    
  2. # 2 楼答案

    这应该管用

    for (int i=0; i < integers.length; i++){
          integers[i] = keyboard.nextInt();
          int[] reverse = new int[integers.length];
    
          for (i = 0, j = reverse.length - 1; i < reverse.length; i++, j--){
            reverse[i] = integers[j]+" ";
          }
        }
    
  3. # 3 楼答案

    或者你可以从末端遍历数组

    for(int i = integers.length-1; i >= 0; i--) {
        System.out.print(integers[i] + " ");
    }
    

    或者你可以使用Stack<Integer>来推送所有输入的数字,并以相反的顺序弹出它们

    Stack<Integer> integers = new Stack<Integer>();
    
    for (int i=0; i < numIntegers; i++){
      integers.push(keyboard.nextInt());
    }
    
    System.out.print("In reverse: ");
    
    while(!integers.isEmpty()) {
      System.out.print(integers.pop() + " ");
    
    }
    
  4. # 4 楼答案

    System.out.print(reverse[0]);
    for (int i=1; i < integers.length; i++)
        System.out.print(" - " + reverse[i]);
    

    其他提议的解决方案可能会打印太多

  5. # 5 楼答案

    反转forloop以获得相反的顺序

    for (int i=integers.length-1; i>=0 i--)
    System.out.print(integers[i] + "-");
    
  6. # 6 楼答案

    for (int i = integers.length; i > 0; i--) {
        System.out.print(integers[i] + " - ");
    }
    System.out.print(integers[0]);