2017-06-15 3 views
-2

Also habe ich eine Frage von einer Coding-Website gelöst, die ich ersetzen musste? mit einem a oder b vorausgesetzt es gibt keine zwei aufeinanderfolgenden a ... ich habe viel probiert und das ist der code den ich geschrieben habe. Obwohl der Code meiner Kenntnis nach korrekt ist, ist die Ausgabe immer dieselbe wie die Eingabe selbst, wenn ich diesen Code ausführe. Es werden keine Änderungen vorgenommen.String-Methode nicht die richtige Ausgabe geben

Beispielfall: Eingang:? Ababa? B? Ausgang: babababba

Eingang: ababb b Ausgang: ababbab

der Eingang A, B welken hat oder? Die Ausgabe muss so sein, dass sie im Wörterbuch den höchsten Vorrang hat.

Wie auch immer ich gebe, ich bekomme die gleiche Ausgabe. ? Wenn ich geben ab als Input bekomme ich die gleiche wie Ausgang mir bitte helfen

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); 
      } 




     } 
+1

'String' ist unveränderlich, also musst du es schreiben wie 's = s.replace (...)' –

Antwort

2

Sie haben das Ergebnis auf Ihre Variablen zuzuweisen, weil String in Java ist unveränderlich:

s = s.replace("?", "a"); 
^^^---------------------------assign the result to your variable 
Verwandte Themen