如果我的输入是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]);
}
}
}
答案 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]);
}
}