我目前正在为学校分配工作,目标是让用户输入n行数,然后反向打印。
例如:
"Please enter number of lines: "
3
"Please enter the lines: "
Hi
Hey
Howdy
期望的输出:
Howdy
Hey
Hi
我的输出:
H
o
w
d
y
H
e
y
H
i
我不确定是什么错,我真的很喜欢一些帮助,这是我的代码:
import java.util.Scanner;
public class ReverseOrder {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.println("Please enter the number of lines: ");
int numberOfLines = kb.nextInt() + 1;
String inputLines[] = new String[numberOfLines];
System.out.println("Please enter the lines: ");
for (int i = 0; i < numberOfLines; i++) {
inputLines[i] = kb.nextLine();
}
System.out.println("Lines in reverse: ");
for (int i = numberOfLines - 1; i >= 0; i--) {
for (int j = 0; j <= inputLines[i].length() - 1; j++) {
System.out.println(inputLines[i].charAt(j));
}
}
kb.close();
}
答案 0 :(得分:2)
您正在使用当前的两个for循环调用println()来打印带有行尾字符的每个字符。这是一个太多的步骤。
由于您已经拥有整个字符串,因此可以使用println()函数以相反的顺序打印字符串
for(int i = numberOfLines - 1 ; i>=0; i--){
System.out.println(inputLines[i]);
}
答案 1 :(得分:1)
@Kody
我不确定您在代码中需要做什么,但是:
如果您只需要以相反的顺序打印每一行,您可以这样做:
System.out.println("Lines in reverse: ");
for (int i = numberOfLines - 1; i >= 0; i--) {
System.out.println(inputLines[i]);
}
方法 println 会为您创建一个新行。