Buchstabenprogramm2



  • Hi

    ich soll ein Programm schreiben das ach ist mir jetzt zu blöde...;)
    seht selber:

    [java]
    class Buchstaben2 {

    public static void main(String args[]) throws java.io.IOException {

    char ch = ' ';

    while (ch != '.') {

    ch = (char)System.in.read();

    if (97 <= ch && ch <= 122) {
    System.out.print((char)(ch - 32));
    }

    if (65 <= ch && ch <= 90) {
    System.out.print((char)(ch + 32));
    }

    if (ch == 10) {
    System.out.println();
    }
    }
    }
    }[/code]

    so nun das Programm am Ende anzeigen, wie oft die Schreibweise geändert wurde.

    Ich hab daran gedacht das mit ner Schleife zu lösen oder??? 😮
    Oder hab ihr ne bessere Idee?

    Danke! 🙂



  • davor:

    alteSchreibweise=schreibweise;
    

    drin:

    schreibweise=klein; bzw schreibweise=gross;
    

    danach:

    if(schreibweise!=alteSchreibweise)
    {
      anzahlAenderungen=anzehlAenderungen+1;
    }
    

    aber alles noch in deiner schleife, die mit dem while (ch != '.'), würd ich sagen tun.



  • @volkard ich finde deine Schreibweise bei diesem Beitrag sehr lustig.

    Wortarm aber doch Präzise!



  • ja die Idee ist net schlecht..nur ein bissel durcheinander...
    ich weiß, gar net wo etwas hinkommt...na ja.

    ich hab jetzt am anfang 2 variablen gesetzt und zwar:

    [java]
    class Buchstaben2 {

    public static void main(String args[]) throws java.io.IOException {

    char ch = ' ';

    int zaehler1 = '0'; //neue variablen gesetz
    int zaehler2 = '0';

    while (ch != '.') {

    ch = (char)System.in.read();

    if (97 <= ch && ch <= 122) { //hier muss der zaehler1 inkrementiert
    // werden, nur wie??
    System.out.print((char)(ch - 32));
    }

    if (65 <= ch && ch <= 90) { //hier muss der zaehler2 inkrementiert
    // werden, nur wie??
    System.out.print((char)(ch + 32));
    }

    if (ch == 10) {
    System.out.println();
    }
    } //ausgabe wie oft was geändert wurde das bezieht sich auf die
    // Groß & Kleinschreibung!
    }
    }[/code]

    Ich wäre euch sehr Dankbar, wenn mir jemand helfen könnte...:)



  • Hrhr, also ich find volkards Beitrag echt genial 🙂

    Ich versuch mal seine Überlegungen in deinen Quellcode einfliessen zu lassen 😃

    class Buchstaben2 {
    
       public static void main(String args[]) throws java.io.IOException {
    
          char alteSchreibweise = ' ', schreibweise = ' ';
    
          int anzahlAenderungen = 0;
    
          while (alteSchreibweise != '.') {
    
             schreibweise = (char) System.in.read();
    
             alteSchreibweise = schreibweise;
    
             if (97 <= alteSchreibweise && alteSchreibweise <= 122) {   
                schreibweise  = (char) (schreibweise - 32);
                System.out.print( schreibweise );
             }
    
             if (65 <= alteSchreibweise && alteSchreibweise <= 90) { 
                schreibweise  = (char) (schreibweise + 32);
                System.out.print( schreibweise );
             }
    
             if (alteSchreibweise == 10) {
                System.out.println();
             }
    
             if(schreibweise != alteSchreibweise)
             {
               anzahlAenderungen = anzehlAenderungen + 1;
             }
    
          }   
          //ausgabe wie oft was geändert wurde das bezieht sich auf die
          // Groß & Kleinschreibung!
          System.out.println( anzahlAenderungen );
    }
    }
    


  • Hi!!

    vielen Dank für die Antwort und die Lösung! 😃
    Aber ich hab noch ne Frage zu der Zeile:

    char alteSchreibweise = ' ', schreibweise = ' '; // Warum das Leerzeichen ' '?
    

    Müssen die Variablen nicht mit dem Wert Groß & Klein belegen?
    Hm...

    (aso hab leider immer noch n' paar Fehler...)

    Exception in thread "main" java.lang.NoClassDefFoundError: Buchstaben5/java
    


  • Zu deiner Exception: Die kommt wohl vom Start deines Programms. Du darfst wenn du mit java.exe dein Programm aufrufen willst nicht .java am Schluss angeben...


Anmelden zum Antworten