Я хочу напечатать двухстрочный лексикограф, самый большой и самый маленький. Наибольшее печатается, но наименьшее выдает результат, равный наибольшему. В чем проблема в моем коде?
publi c Решение класса {
public static String getSmallestAndLargest(String s, int k) {
String sequence = s.substring(0,k);
String smallest = sequence;
String largest = sequence;
for(int i=0;i<=(s.length()-k); i++){
sequence= s.substring(i,(i+k));
if (sequence.compareTo(smallest)<0){
sequence=smallest;
}
if (sequence.compareTo(largest)>0){
sequence=largest;
}
}
// Complete the function
// 'smallest' must be the lexicographically smallest substring of length 'k'
// 'largest' must be the lexicographically largest substring of length 'k'
return smallest + "\n" + largest;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.next();
int k = scan.nextInt();
scan.close();
System.out.println(getSmallestAndLargest(s, k));
}
}