我需要写一个方法。它将接受任何数组作为输入并返回另一个数组作为输出。 out数组元素应该是相反的顺序
input a[]={123};
output b[]={321};
注意:作为一个数组并获得另一个包含相同元素的数组,但顺序相反 我尝试了什么
public class p112409
{
public static int nums[] = { 5, 11, 9 };
public static void main(String[] args) {
p112409.reverse3(nums);
}
public static int[] reverse3(int[] nums)
{
int rev[] = { 0, 0, 0, 0 };
int lenght = nums.length;
for (int i = lenght - 1; i >= 0; i--)
{
rev[i] = nums[i]; System.out.println(rev[i]);
}
return nums;
}
}
lang:仅限Java
答案 0 :(得分:1)
细节是在forloop内部的分配。
public static int[] reverseArray (int[] input){
int len = input.length;
int[] output = new int[len];
for (int i=0;i<len;i++){
output[i]= input[len-1-i]; // assign from the reverse of the input
}
return output;
}
答案 1 :(得分:0)
首先,您正在更改rev
并返回nums
这没有任何意义。
第二,如果索引相同,那么数组也是相同的。
我建议你做的是使用不同的索引k
并从0
迭代到length
,这会反转数组。
int rev[] = { 0, 0, 0, 0 };
int lenght = nums.length;
for (int i = lenght - 1, k = 0; i >= 0; i--, k++)
{
rev[k] = nums[i];
}
return rev;
答案 2 :(得分:0)
您可以使用
Collections.reverse(a);
或实施正确的反向方法
private List reverseList(List myList) {
List invertedList = new ArrayList();
for (int i = myList.size() - 1; i >= 0; i--) {
invertedList.add(myList.get(i));
}
return invertedList;
}
答案 3 :(得分:0)
最简单的方法是创建一个数组,其大小定义为输入数组的大小,然后迭代相同输入数组长度的for循环(从a.length减少到0)。
使用计数器将这些输入数组值放入输出数组的另一个索引中。
在你的情况下,for循环的第一次迭代应该这样做: b [counter] = a [a.length-1]
答案 4 :(得分:0)
{{1}}