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在最后关闭。
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])+ " ");
}
}
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]);
}
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]);
}
}
添加回答
举报