Zamiana 2 znakow dolara na 1 znak procentu w stringu

0

Hej mam pewien napis: $$ab$$ede$ i chce zamienic jesli znaki dolara (jesli beda 2 obok siebie) na jeden znak %. Prosze o pomoc. Mam taki kod, ale nie dziala.

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String blabla = "$$abece$$";
        int licznik = 0;
        String temp = "";

      for(int i=0; i<blabla.length(); i++){
        if(blabla.length() > 0)
            if(blabla.charAt(licznik) == '$' && blabla.charAt(licznik+1) == '$')
            {
             temp = blabla.substring(licznik+2);
             String a = "%";
             a += temp;

             temp = a;
            }

        }//for

        System.out.println(temp);
    }

}
0
blabla=blabla.replace("$$","%");
0

Łojejciu...
Nie mam przy sobie Javy, ale trzymaj:

public class Main {
    public static void main(String[] args) {
        String blabla = "$$abece$$";
        int Licznik = 0;
        String Wynik = "";
 
      for(int Licznik=0; i<blabla.length(); Licznik++){
        if(blabla.length() > 0)
            if(blabla.charAt(Licznik) == "$" && blabla.charAt(Licznik+1) == "$")
            {
             Wynik += "%";
            } else {
             if (blabla.charAt(Licznik-1) <> "$" && blabla.charAt(Licznik) <> "$") // Tak, tak... Dało się lepiej zrobić...
              Wynik += blabla.charAt(Licznik);
            } // else
        } // for 
        System.out.println(Wynik);
    } // void main
 
} // class main

Sam się aktualnie uczę Javy, lecz prosiłbym, aby ktoś to sprawdził ;-)

0

Troche zle to napisalam. Ja musze te znaki wprowadzac z klawiatury i dopiero potem zamienic, jesli wczytam dwa dolary, i wyswietlic juz zamienione : (a moge wpisywac tylko 1 znak) - czyli czytam w petli:

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {


        int licznik = 0;
        String temp = "",bla = "", cale = "";

        for(int i=0; i<10; i++)
        {
         String a = JOptionPane.showInputDialog("Wpisz znak: ");
         temp += a;
         for(int j=0; j<temp.length(); j++){
            if(temp.length() > 0)
            {
             if(temp.charAt(licznik) == '$' && temp.charAt(licznik+1) == '$')
             {
             bla = temp.substring(licznik+2);
             cale = "%";
             cale += bla;
             licznik++;
             }
            }
         }

        }

        System.out.println(cale);
    }

}
0

O takie cos ale to nie dziala, zeby mi mniej wiecej tak dzialalo a znaki musze podawac w petli po jednym (tresc zadania taka jest) pomozecie?

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {


        int licznik = 0;
        String temp = "",bla = "", cale = "";
        String calosc = "";

        for(int i=0; i<10; i++)
        {
         String a = JOptionPane.showInputDialog("Wpisz znak: ");
         temp += a;
            if(temp.length() > 0)
            {
             if(temp.charAt(licznik) == '$' && temp.charAt(licznik+1) == '$')
             {
             String f = temp.substring(licznik+2);
             String procent = "%";
             calosc += procent;
             calosc += f;
             licznik++;
             }
            
         }

        }

        System.out.println(calosc);
    }

}
0

bo jak wpisze np. w petli q$$wd$f$$r to mi nic nie wyswietla :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1