我对我的 Java 技能很生疏,但我试图编写一个程序,提示用户输入一个字符串并显示最大长度增加的有序字符子序列。例如,如果用户输入Welcome
程序会输出Welo
. 如果用户输入WWWWelllcommmeee
,程序仍然会输出Welo
。我已经完成了这么多,但它没有做它应该做的事情,老实说,我不知道为什么。
import java.util.ArrayList;
import java.util.Scanner;
public class Stuff {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a string. ");
String userString = input.next();
ArrayList charList = new ArrayList();
ArrayList finalList = new ArrayList();
int currentLength = 0;
int max = 0;
for(int i = 0; i < userString.length(); i++){
charList.add(userString.charAt(i));
for(int j = i; j < userString.length(); j++){
int k=j+1;
if(k < userString.length() && userString.charAt(k) > userString.charAt(j)){
charList.add(userString.charAt(j));
currentLength++;
}
}
}
if(max < currentLength){
max = currentLength;
finalList.addAll(charList);
}
for (int i = 0; i < finalList.size(); i++){
char item = (char) finalList.get(i);
System.out.print(item);
}
int size1 = charList.size();
int size2 = finalList.size();
System.out.println("");
System.out.println("Size 1 is: " + size1 + " Size 2 is : " + size2);
}
}
我的代码,如果我输入Welcome
,输出WWeceeclcccome
。
有人对我做错了什么有一些提示吗?