获取整数列表并使用数组反向显示它们

时间:2019-02-23 06:18:14

标签: java arrays

如果我的输入是1 2 3,那么输出也将显示为1 2 3,那么如何使这些数字显示3 2 1?

 public static void main(String[] args) {
    // TODO code application logic here
    Scanner s = new Scanner(System.in);

    String text = s.nextLine();


    String[] entries = text.split(" ");
    int[] nums = new int[entries.length];

     for(int i = 0; i < entries.length; i++){
        nums[i] = Integer.parseInt(entries[i]);
    }
     for(int i = 0; i < entries.length; i++){
        System.out.println(nums[i]);
    }
}

}

4 个答案:

答案 0 :(得分:0)

如果要以相反的顺序存储数字:

for(int i = 0; i < entries.length; i++)
{
     nums[i] = Integer.parseInt(entries[entries.length-i-1]); 
} 

如果您只想以相反的顺序显示数字(它们在列表中将保持相同的顺序:

for(int i = entries.length-1; i >= 0; i--)
{
    System.out.println(nums[i]); 
}

答案 1 :(得分:0)

尝试以下代码:

(https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API)

答案 2 :(得分:0)

如果要使用Java 8版本,请使用以下代码

Scanner s = new Scanner(System.in);      
String text = s.nextLine(); 
String[] entries = text.split("\\s");

List<Integer> integers = Arrays.stream(entries)
        .map(Integer::valueOf)
        .collect(Collectors.toList());

Collections.reverse(integers);

integers.forEach(integer -> System.out.print(String.format("%d ", integer)));

\\s表示“空白”,建议您最后关闭Scanner

答案 3 :(得分:-1)

您可以向后遍历entries数组。这将涉及以int i的长度减去1来开始entries(因为这是数组中的最后一个索引-即您的最后一个数字)。它还需要您在i >= 0期间继续循环。最后,您无需减少i变量,而需要减少它。这样,您的计数器i从循环的结尾到数组的开头(例如:如果输入“ 1 2 3”,则i将从索引:2、1、0 )

请参见以下示例:

public static void main(String[] args) {
   // TODO code application logic here
   Scanner s = new Scanner(System.in);

   String text = s.nextLine();


   String[] entries = text.split(" ");
   int[] nums = new int[entries.length];

   for(int i = 0; i < entries.length; i++) {
     nums[i] = Integer.parseInt(entries[i]);
   }
   for(int i = entries.length-1; i >= 0; i--) {
     System.out.println(nums[i]);
   }
}