我想知道是否(以及如何)将我的方法ArrayReverse
中的反转数组放入数组result
(其中的??????????)中我的main
方法。
代码应该打印出来" Funktioniert"
我的代码:
public class blubb {
public static void main(String[] args) {
char[] array = {'t', 'r', 'e', 'i', 'n', 'o', 'i', 't', 'k', 'n', 'u', 'F'};
char[] result= new char[??????????];
result=ArrayReversed(array);
for (int i = 0; i < ergebnis.length; i++) {
System.out.println(ergebnis[i]);
}
}
public static char[] ArrayReversed(char[] arr) {
char [] blubb= new char[arr.length];
for (int i = arr.length-1; i >=0; i--) {
blubb[i]=arr[i];
}
return blubb;
}
}
答案 0 :(得分:1)
所有答案都是正确的,您只需将返回结果分配给您的变量:
char[] result = ArrayReversed(array);
您认为它不起作用的原因是因为代码中的这一行:
for (int i = arr.length-1; i >=0; i--) {
blubb[i] = arr[i];
}
这不会颠倒阵列。您只是将相同的字符从一个数组复制到另一个数组,转换到相同的位置。也许你正在寻找类似的东西:
for(int i=0; i<arr.length; i++) {
blubb[i] = arr[arr.length-1-i];
}
答案 1 :(得分:0)
为什么不做char[] result = ArrayReversed(array);
另外,你的方法ArrayReversed是错误的。它应该是这样的。
public static char[] ArrayReversed(char[] arr) {
char [] blubb= new char[arr.length];
for (int i = arr.length-1; i >=0; i--) {
blubb[i]=arr[arr.length-1-i];
}
return blubb;
}
答案 2 :(得分:0)
基本上,您不需要初始化您的结果&#34;阵列。只需将其设置为ArrayReversed的返回值即可。然后在你的for循环中,你实际上想要使用结果数组并迭代/打印出它的值。
public class blubb {
public static void main(String[] args) {
char[] array = {'t', 'r', 'e', 'i', 'n', 'o', 'i', 't', 'k', 'n', 'u', 'F'};
char[] result;
result=ArrayReversed(array);
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
public static char[] ArrayReversed(char[] arr) {
char [] blubb= new char[arr.length];
for (int i = arr.length-1; i >=0; i--) {
blubb[i]=arr[i];
}
return blubb;
}
}
答案 3 :(得分:0)
您不需要为结果分配新内存。像这样的东西应该工作(注意我对你的代码做了一些更改,因为你的代码中还有一个bug)
public class blubb {
public static void main(String[] args) {
char[] array = {'t', 'r', 'e', 'i', 'n', 'o', 'i', 't', 'k', 'n', 'u', 'F'};
char[] result= ArrayReversed(array);
System.out.println(result);
}
public static char[] ArrayReversed(char[] arr) {
char [] blubb= new char[arr.length];
for (int i = arr.length-1, j = 0; i >=0; i--, j++) {
blubb[i]=arr[j];
}
return blubb;
}
}