【发布时间】:2021-08-29 18:41:44
【问题描述】:
我的教授让我为这段代码创建一个解决方案,但我无法得到很好的输出。 他问了我几件事:
要求用户输入一个String值,值“END”,终止循环和程序,不包含在Strings的计算中。
最后,您应该输出用户输入的哪些字符串是按字母顺序排在第一位的字符串。所以例如:如果用户输入“aac”和“aab”,“aab”首先出现。
我已经创建了代码,但是由于某种原因,在输出的末尾它给了我值“END”作为第一个按字母顺序排列的字符串,我有点困惑。
不知道教授问的对不对还是只有我不明白!
到目前为止我的代码:
import java.util.Scanner;
public class Ush1_NOTDONE {
public static void main(String[]args) {
Scanner sc = new Scanner(System.in);
System.out.println("Type a String value, the value \"END\" terminates the code");
String word = sc.nextLine();
final String SENTINEL = "END";
String firstString = null;
do {
if(!word.equals(SENTINEL)) {
System.out.println("Type a String value, the value \"END\" terminates the code");
word = sc.nextLine();
if(firstString == null || word.compareTo(firstString)<0 ){
firstString = word;
}
}}while(!(word.equals(SENTINEL)));
System.out.println("First alphabetically string is: " + firstString);
}
}
【问题讨论】:
标签: java string loops output java.util.scanner