1
私は入力から取った長さzの字句的に最も小さい部分文字列を見つけようとしています。 最小の部分文字列を見つけようとしているのになぜif条件が機能しないのか分かりません。2文字列を辞書学的に比較する
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);
}
}
あなたは何を求めていますか? –
最小の部分文字列を見つけようとしているコードを参照してください。 – Eduardo
最初にminiを空文字列として宣言していますので、変更されていません。 miniとmaxの両方を、入力文字列の任意のz長の部分文字列として初期化する必要があります。 'mini = max = s.substring(0、z);' –