我有两个递归遍历数组的短程序。第一个数组向后打印数组,第二个数组向前打印数组。第二个应该是向后打印数组。为什么要向前打印?这是相同的代码!
方案一:
public class SomeClass2 {
public static String someMethod(int[] array2, int x) {
if (x < array2.length)
return String.format("%s%d ", someMethod(array2, x + 1), array2[x]);
else
return "";
}
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
String results = someMethod(array, 0);
System.out.println(results);
}
}
方案二:
import java.util.Scanner;
public class BackwardsArray {
public static String reverse(char[] array, int x) {
if (x < array.length)
return String.format("%s " + reverse(array, x + 1), array[x]);
else
return "";
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a sentence: ");
String sentence = input.nextLine();
char[] charArray = sentence.toCharArray();
String backwardsSentence = reverse(charArray, 0);
System.out.println(backwardsSentence);
}
}
1条答案
按热度按时间7rtdyuoh1#
首先,使用
if else
而不使用{}
来 Package 块是不好的做法第二,
BackwardsArray
中的格式与SomeClass2
不同需要更改如下:
完整代码:
测试结果:
不知道它是否符合您的要求。