Apua Replace-sovellus harjoitukseen

Riri

Hei!

Mun pitäisi tehdä pieni ohjelma, joka korvaa jonkin tietyn kirjaimen toisella kirjaimella käyttäjän antamassa sanassa.

Olen yrittänyt seuraava mutta nyt en enää keksi muuta:

import java.lang.String;

public class replacesovellus {

public static void main (String[] args)
{
   
   String uusiTeksti = "";
   
   char muutettava = 'a';
   char korvaava = 'ä';
   
   String orgTeksti = JOptionPane.showInputDialog("Anna muutettava teksti");
   
   {
   
   String temp = JOptionPane.showInputDialog("Anna muutettava merkki");
   }
   
   char muutttava = temp.charAt(0);
   {
   String uusiTeksti = orgTeksti.replace(muutettava, korvaava);
   }
   }
}

3

491

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • asdfasfasfd

      Ajatus kuitenkin oikein. Kääntäjän kyllä pitäisi herjata noista virheistä joita koodissasi on. Alla kuitenkin toimiva versio koodisi perusteella.

      --------------

      import javax.swing.JOptionPane;

      public class replacesovellus
      {
         public static void main(String[] args)
         {
            char korvaava = 'ä';
            
            String teksti = JOptionPane.showInputDialog("Anna muutettava teksti");
            
            String temp = JOptionPane.showInputDialog("Anna muutettava merkki");
            
            char muutettava = temp.charAt(0);
            
            String uusiTeksti = teksti.replace(muutettava, korvaava);
            
            JOptionPane.showMessageDialog(null, "Uusi teksti: " uusiTeksti);
         }
      }


      ------------

      • Riri

        Kiitos avusta!

        Kääntäjä kyllä herjasi virheistä mutta en osannut ratkaista niitä oikein.


      • asdfasdfasdf
        Riri kirjoitti:

        Kiitos avusta!

        Kääntäjä kyllä herjasi virheistä mutta en osannut ratkaista niitä oikein.

        "Duplicate local variable uusiTeksti" –virhe tarkoittaa, että muuttuja nimeltä uusiTeksti on jo olemassa, (saman nimistä muuttujaa ei voi luoda kahteen kertaan). Esimerkki virheestä:

        --- EI TOIMIVIA ---
           ...
           String uusiTeksti = "a";
           String uusiTeksti = teksti.replace(muutettava, korvaava);
           ...
        --- LOPPU ---

        --- TOIMIVA ---
           ...
           String uusiTeksti = "a";
           uusiTeksti = teksti.replace(muutettava, korvaava);
           ...
        --- LOPPU ---



        "temp cannot be resolved" -virhe tarkoittaa, että muuttujaa/pakettia/luokkaa nimeltä temp ei löydy, esim. muuttuja/luokka ei ole näkyvyys alueella tai pakettia johon luokka kuuluu ei ole importattu. Paikallisen muuttujanhan näkyvyys alueen määräävät aaltosulkeet. Esimerkki virheestä:

        --- EI TOIMIVIA ---
           ...
           {
              String temp = JOptionPane.showInputDialog("Anna muutettava merkki");
           }
           char muutetttava = temp.charAt(0);
           ...
        --- LOPPU ---

        --- TOIMIVA ---
           ...
           String temp = JOptionPane.showInputDialog("Anna muutettava merkki");
           char muutetttava = temp.charAt(0);
           ...
        ---- LOPPU ---

        Toinen esimerkki samasta virheestä, (paketti josta luokka löytyy ei ole importattu):

        --- EI TOIMIVIA ---
           ...
           String temp = JOptionPane.showInputDialog("Anna muutettava merkki");
           ...
        --- LOPPU ---

        --- TOIMIVA ---
           ...
           import javax.swing.JOptionPane;
           ...
           String temp = JOptionPane.showInputDialog("Anna muutettava merkki");
           ...
        --- LOPPU ---



        "Syntax error on token "}"", delete this token" –virhe tarkoittaa, että aaltosulkeita on liikaa ja yksi niistä pitää poistaa, (ohjelmassa pitää olla yhtä monta oikealle sekä vasemmalle olevaa aaltosuljetta). Esimerkki virheestä:

        --- EI TOIMIVIA ---
           ...
           {
           }
           }
           ...
        --- LOPPU ---

        --- TOIMIVA ---
           ...
           {
           }
           ...
        --- LOPPU ---



        "The local variable 'uusiTeksti' is never read" -varoitus tarkoittaa, että paikallista muuttujaa nimeltä uusiTeksti ei koskaan lueta/käytetä. Tyypillisesti tällainen varoitus viittaa turhiin muuttujiin. Esimerkki varoituksesta:

        --- VAROITTAA ---
           ...
           String uusiTeksti;
           uusiTeksti = teksti.replace(muutettava, korvaava);
           ...
        --- LOPPU ---

        --- EI VAROITA ---
           ...
           String uusiTeksti;
           uusiTeksti = teksti.replace(muutettava, korvaava);
           ...
           System.out.println(uusiTeksti);
           ...
        --- LOPPU ---


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mies, mitä minun pitäisi tehdä

      Niin, mitä naisen siis pitäisi tehdä, että lähestyisit ja tekisit aloitteen? Mikä on riittävä kiinnostuksen osoitus juur
      Ikävä
      181
      2446
    2. Miksi teillä meni...

      ...välit poikki kaivattusi kanssa?
      Ikävä
      183
      2014
    3. Toivottavasti et mussukka elättele toiveita meikäläisen suhteen

      Tiedän mitä olet touhunnut joten aivan turha haaveilla mistään enää 👍
      Ikävä
      176
      1878
    4. Sofia Virralla ja Minja Koskelalla ei mitään käsitystä terveyskeskusmaksuista!

      Vasemmistopimut Sofia ja Minja täysin ulkona sote asioista, ei minkäänlaista käsitystä edes mittaluokasta, missä terveys
      Maailman menoa
      122
      1691
    5. Summit-tippuja Nicola sai Carolalta yllättävän viestin - Some älähtää rajusti: "Älä viitsi..."

      The Summit Suomi -kisa käy kuumana kylmässä Norjan vuoristossa. Nicola tiputettiin kisasta juuri ennen finaalia. Likaise
      Tv-sarjat
      31
      1605
    6. Nainen näytät mummolta. :D

      Siks sua ei huoli kukaan.
      Ikävä
      123
      1508
    7. Varattais lähihotellista

      🥰 huone viikoksi. Oltais vaan ja tilattais huonepalvelusta herkkuja! Viikonloppukin käy jos et viikoksi ehdi ❤ Hyvää
      Ikävä
      178
      1209
    8. Juusolle sataa vihaisia viestejä hoitajilta ja loput nauravat hänelle

      Ei löydy montaakaan, joka kehuisi Juuson toimintaa ministerinä: "Selvä enemmistö Juuson päivitykseen reagoineista on su
      Perussuomalaiset
      171
      1185
    9. Persuehdokas uhkasi tappaa "jätkän" ja ravintolayrittäjän

      Kuuntele tästä kuinka meuhkaa. https://www.iltalehti.fi/politiikka/a/4eb3034d-48c5-4f31-b53c-42be3dc9607c
      Perussuomalaiset
      77
      1143
    10. Kompostointitarkastaja tuli tarkastukselle!

      En ole ikinä kompostoinnut ja eilen kävi kompostointitarkastaja kylässä. Tosi hianoa byrokratiaa taas: "Laki edellyttää,
      64
      1120
    Aihe