Benutzer-Werkzeuge

Webseiten-Werkzeuge


einstieg:weiteredatentypen2:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
einstieg:weiteredatentypen2:start [2020/12/17 20:22] – [Aufgabe 1] Martin Pabsteinstieg:weiteredatentypen2:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-====== Die Datentypen String und boolean ======+====== Die Datentypen String, char und boolean ======
 ===== String ===== ===== String =====
 <WRAP center round info 60%> <WRAP center round info 60%>
Zeile 57: Zeile 57:
 {{ :einstieg:weiteredatentypen2:string-methoden.gif |}} {{ :einstieg:weiteredatentypen2:string-methoden.gif |}}
  
-==== Beispiel 1 ==== +===== char ===== 
-Schreibe ein Programmdas den Benutzer um Eigabe eines Wortes bittet und dieses dann rückwärts ausgibt+<WRAP center round info 60%> 
-<HTML>+In einer Variable vom Datentyp ''char'' kann man genau ein Zeichen (BuchstabeZiffer oder Sonderzeichen) speichern. ''char'' ist die Kurzform von **character** (Zeichen). \\  
 +Zeichen-Konstanten schreibt man in einfachen Anführungszeichen also z.B. ''char c = 'T'''
 + \\  
 +**Bemerkungen:** 
 +  * Die Methode ''charAt'' der Klasse ''String'' gibt einen Wert vom Datentyp ''char'' zurück. 
 +  * Wird ein Wert vom Datentyp ''String'' als Parameter einer Methode erwartet, so kann man auch einen Wert vom Datentyp ''char'' übergeben. Er wird automatisch in eine Zeichenkette umgewandelt (//implizites casting//)
 +</WRAP>
  
-<div class="java-online" style="height: 250px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'strings3'}"> +<HTML>
- +
-<script type="text/plain" title="Test1.java"> +
-String a = Input.readString("Gib ein Wort ein:");+
  
-int position a.length() 1; +<div class="java-online" style="height: 200pxwidth: 100%" data-java-online="{'withBottomPanel': false, 'id': 'char1'}">
-while(position >0){ +
-   print(a.charAt(position)); +
-   position--+
-}+
  
 +<script type="text/plain" title="TestChar1.java">
 +String text = "Das ist ein Text";
 +char zeichen = 'T';
 +if(text.charAt(12) == 'T'){
 +   println("Das 12. Zeichen des Textes ist ein T.");
 +}  
 </script> </script>
  
Zeile 78: Zeile 83:
 </HTML> </HTML>
  \\   \\ 
 +
 +
  
 ==== Aufgabe 1 ==== ==== Aufgabe 1 ====
Zeile 83: Zeile 90:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 250px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'strings4'}">+<div class="java-online" style="height: 450px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'strings6'}">
  
-<script type="text/plain" title="Test1.java">+<script type="text/plain" title="A-Zähler.java"
 +// Hier programmieren! 
 +</script>
  
-</script> 
 <script type="text/plain" title="Tipp 1" data-type="hint"> <script type="text/plain" title="Tipp 1" data-type="hint">
 ## Tipp 1: ## Tipp 1:
 Ist ``s`` vom Datentyp ``String``, so ist das Ergebnis der Methode ``a.charAt`` vom Datentyp ``char`` (Zeichen), daher kann es nur mit Zeichen-Konstanten (nicht mit String-Konstanten) verglichen werden. Möchtest Du beispielsweise testen, ob das 3. Zeichen von ``s`` ein a ist, so geht das so: Ist ``s`` vom Datentyp ``String``, so ist das Ergebnis der Methode ``a.charAt`` vom Datentyp ``char`` (Zeichen), daher kann es nur mit Zeichen-Konstanten (nicht mit String-Konstanten) verglichen werden. Möchtest Du beispielsweise testen, ob das 3. Zeichen von ``s`` ein a ist, so geht das so:
-```if(s.charAt(2) == 'a'){ ... }```+``` 
 +if(s.charAt(2) == 'a'){ ... } 
 +``` 
 +Die einfachen Anführungszeichen um das a bedeuten, dass es sich um eine Zeichen-Konstante vom Datentyp ``char`` handelt. 
 +</script> 
 +<script type="text/plain" title="Tipp 2" data-type="hint"> 
 +## Tipp 2: 
 +Neben der Variablen (z.B. ``String s``), die die zu untersuchende Zeichenkette beinhaltet, brauchst Du zwei ``int``-Variablen: Eine (z.B. ``int p``) wird von ``0`` bis ``s.length() - 1`` hochgezählt, die andere wird immer dann um ``1`` erhöht, wenn das p-te Zeichen von ``s`` ein a ist.
 </script> </script>
 </div> </div>
Zeile 102: Zeile 117:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 450px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'strings5'}">+<div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'strings8'}">
  
-<script type="text/plain" title="Test1.java">+<script type="text/plain" title="MaxBuchstabe.java">
  
 </script> </script>
 +<script type="text/plain" title="Tipp 1: Alphabettrick" data-type="hint"> 
 +## Tipp 1: 
 +Definiere eine String-Konstante, in der alle Buchstaben vorkommen: 
 +``` 
 +String buchstaben = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
 +``` 
 +Jetzt kannst du eine ``int``-Variable ``i`` definieren, die alle Zahlen von ``0`` bis ``buchstaben.length() - 1`` durchläuft und dir mit ``buchstaben.charAt(i)`` den ``i``-ten Buchstaben des Alphabets 'holen'.  
 +</script> 
 +<script type="text/plain" title="Tipp 2: Strategie" data-type="hint"> 
 +## Tipp 2: 
 +Definiere zwei Variablen   
 +``` 
 +String maxBuchstabe = "";    // Buchstabe, der am häufigsten im Wort vorkommt 
 +int maxAnzahl = 0;           // Anzahl, wie oft er im Wort vorkommt 
 +``` 
 +Für jeden Buchstaben des Alphabets (siehe Tipp 1) lässt du das Programm jetzt zählen, wie oft er vorkommt. Falls er öfter als ``maxAnzahl`` vorkommt, dann speichere ihn in ``maxBuchstabe`` (und überschreibe den bisherigen Spitzenreiter...) und speichere die Anzahl seines Vorkommens in ``maxAnzahl``. Gib die Werte von ``maxBuchstabe`` und ``maxAnzahl`` am Ende des Programms aus. 
 +</script>
 </div> </div>
  
 </HTML> </HTML>
  \\   \\ 
 +[[.aufgabe2loesung:start|Hier geht's zur Lösung!]]
 ===== boolean ===== ===== boolean =====
 <WRAP center round info 60%> <WRAP center round info 60%>
einstieg/weiteredatentypen2/start.1608232958.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki