【发布时间】:2015-05-09 17:44:39
【问题描述】:
我正在尝试创建一个字符串还原程序,我在其中输入字符串并将它们存储在一个数组中 - 当数组完成时,它会打印 Backwards 的内容 - 如果用户输入Quit,程序会停止并向后打印,而不会将quit存储在数组中
但是我的代码没有打印最后一个条目我不知道为什么?
import java.util.*;
import java.io.*;
class StringRevert {
public static void main(String[] args) {
String buffer[];
Scanner scan = new Scanner(System.in);
System.out.println("Enter Size: ");
int num = scan.nextInt();
buffer = new String[num];
String read = scan.nextLine();
for(int i=0; i<buffer.length; i++) {
if(read.equals("quit")) {
break;
} else {
buffer[i] = read;
}
read = scan.nextLine();
}
for(int k=buffer.length -1; k>=0; k--) {
System.out.println(buffer[k]);
}
}
}
【问题讨论】:
-
考虑使用
ArrayList而不是数组,因为在您的示例中,用户必须输入Strings的数量,但之后可以提前退出 - 这没有任何意义。使用ArrayList,您可以添加新条目,直到用户键入“退出”而不询问之前的号码。
标签: java arrays string java.util.scanner