-2
私はコーディングのWebサイトから質問を解決していましたが、置き換える必要がありましたか? aまたはbを指定すると、連続した2つのaはありません。私はたくさん試しましたが、これは私が書いたコードです。コードは私の知る限り正しいと思われますが、このコードを実行するたびに出力は入力そのものと同じになります。変更はありません。文字列メソッドで正しい出力が得られません
例の場合: 入力:?ababa?b? 出力:babababba
入力:ababb B 出力:
ababbab入力は、Bまたは枯れなければなりませんか 出力は、辞書内の優先順位が最も高くなるようにする必要があります。
しかし、どんな入力をしても同じ出力が得られます。 ?私が与えた場合、ABを入力として、私は、出力と同じを取得するJavaのStringは不変であるので、あなたは、あなたの結果を変数に割り当てる必要があり、私に
package Beginner;
import java.util.Scanner;
public class ExplRuin {
public static void main(String args[]){
String s;
Scanner in = new Scanner(System.in);
s = in.nextLine();
if(s.length()==1){
if(s.equals("?"))
s.replace("?", "a");
} else
{
if(s.toString().startsWith("?")){
if(s.contains("?b"))
s.replace("?b","ab");
else
if(s.contains("?a"))
- s.replace("?a", "ba");
}
if(s.endsWith("?")){
if(s.contains("a?"))
s.replace("a?", "ab");
else
if(s.contains("b?"))
s.replace("b?","ba");
}
if(s.contains("?a")||s.contains("a?")){
s.replace("?", "a");
}
else{
s.replace("?", "a");
}
}
System.out.print(s);
}
}
'STRING'があります不変なので 's = s.replace(...)'のように書く必要があります –