为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只甜甜圈 2022-07-06 16:55:04
如果我的输入是 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 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

如果你想要 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在最后关闭。


查看完整回答
反对 回复 2022-07-06
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

试试下面的代码:


public static void main(String[] args) 

{

  Scanner s = new Scanner(System.in);

  String text = s.nextLine();

  String[] entries = text.split(" ");

  for(int i = entries.length-1; i >= 0; i--) 

  {

     System.out.print(Integer.parseInt(entries[i])+ " ");

  }

}


查看完整回答
反对 回复 2022-07-06
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

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


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]); 

}


查看完整回答
反对 回复 2022-07-06
?
FFIVE

TA贡献1797条经验 获得超6个赞

您可以entries向后循环遍历数组。这将涉及从负 1int i的长度开始entries(因为这是您数组中的最后一个索引 - 即您的最后一个数字)。它还需要您继续循环 while 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]);

   }

}


查看完整回答
反对 回复 2022-07-06
  • 4 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信