Ich versuche lexikographisch kleinsten und größten Teilstring der Länge z zu finden, die von der Eingabe genommen wird. Ich weiß nicht warum, aber die If-Bedingung funktioniert nicht, wo ich versuche, die minimale Teilkette zu finden.Lexikographisch zwei Strings vergleichen
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner ip=new Scanner(System.in);
String s=ip.next();
int z=ip.nextInt();
String max="";
String mini="";
String x="";
for(int i=0;i<s.length()-z;i++) {
x=s.substring(i,i+z);
if(x.compareTo((mini))<0) //this is not working
mini=x;
if(x.compareTo((max))>0)
max=x;
}
System.out.print(mini);
System.out.print(max);
}
}
Wonach fragen Sie? –
siehe den Code, wo ich versuche, minimale Teilzeichenfolge zu finden, es funktioniert nicht – Eduardo
Sie haben zunächst Mini als leere Zeichenfolge deklariert, so dass es sich nicht ändert. Sie sollten sowohl mini als auch max als jede z-Länge Teilzeichenfolge der Eingabezeichenfolge initialisieren. 'mini = max = sstring (0, z);' –