Ich werde immer als false
ausgegeben.Mein Code druckt nur falsch. Was kann falsch sein?
Mein Ziel ist es, true
zu drucken, wenn String t
in der gleichen Reihenfolge in String s
vorhanden ist.
Zum Beispiel:
String s = "gagbgcgd"; String t = "abcd";
Erwartete Ausgabe:
wahr
String s = "gagcgdgb"; String t = "abcd";
Erwartete Ausgabe:
falsch
Hier ist der Code.
public class StringCompare {
public static boolean stringCompare(String t,String s) {
if (t.length() == 0) {
return true;
}
if (s.length() == 0) {
return false;
}
if (t.charAt(0) == s.charAt(0)) {
stringCompare(t.substring(1), s.substring(1));
}
else {
stringCompare(t, s.substring(1));
}
return false;
}
public static void main(String[] args) {
String s = "acaoadaianaga";
String t = "coding";
System.out.println(stringCompare(t,s));
}
}
Vielen Dank. Einige meiner anderen Aufgaben hatten das gleiche Problem. Aber sie sind jetzt gelöst. – iVvaibhav
@iVvaibhav Wenn Ihr Problem gelöst ist, vergessen Sie nicht, [Antwort akzeptieren] (http://meta.stackexchange.com/q/5234/243725). –
@iVvaibhav Als Anmerkung (da es so aussieht, als ob Sie zwischen den akzeptierten Antworten wechseln): Sie können nur eine Antwort akzeptieren. Sie müssen sich entscheiden, welches. – Tom