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/09/12 15:51] – [String] 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 das Wort "Donaudampfschiffkapitän" rückwärts ausgibt.+<WRAP center round info 60%> 
 +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> 
 <HTML> <HTML>
  
-<div class="java-online" style="height: 250px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'strings3'}">+<div class="java-online" style="height: 200px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'char1'}">
  
-<script type="text/plain" title="Test1.java"> +<script type="text/plain" title="TestChar1.java"> 
-String = "Donaudampfschiffkapitän";+String text = "Das ist ein Text"; 
 +char zeichen = 'T'; 
 +if(text.charAt(12) == 'T'){ 
 +   println("Das 12. Zeichen des Textes ist ein T."); 
 +}   
 +</script>
  
-int position = a.length() - 1; +</div> 
-while(position >= 0){ + 
-   print(a.charAt(position)); +</HTML> 
-   position--; + \\  
-}+ 
 + 
 + 
 +==== Aufgabe 1 ===
 +Schreibe ein Programm, das den Benutzer um Eingabe eines Wortes bittet und ausgibt, wie oft der Buchstabe darin vorkommt
 +<HTML> 
 + 
 +<div class="java-online" style="height: 450pxwidth: 100%" data-java-online="{'withBottomPanel': true, 'id': 'strings6'}">
  
 +<script type="text/plain" title="A-Zähler.java">
 +// Hier programmieren!
 </script> </script>
  
 +<script type="text/plain" title="Tipp 1" data-type="hint">
 +## 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:
 +```
 +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>
 </div> </div>
  
Zeile 79: Zeile 113:
  \\   \\ 
  
 +==== Aufgabe 2 (Herausforderung!) ====
 +Schreibe ein Programm, das den Benutzer um Eingabe eines Wortes bittet und ausgibt, welcher Buchstabe darin am häufigsten vorkommt.
 +<HTML>
 +
 +<div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'strings8'}">
 +
 +<script type="text/plain" title="MaxBuchstabe.java">
 +
 +</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>
 +
 +</HTML>
 + \\ 
 +[[.aufgabe2loesung:start|Hier geht's zur Lösung!]]
 +===== boolean =====
 +<WRAP center round info 60%>
 +Variablen vom Datentyp ''boolean'' können nur zwei verschiedene Werte speichern: ''true'' oder ''false''. Man nennt sie auch **Wahrheitswerte**. 
 + \\ \\ 
 +Wahrheitswerte können mit den Operatoren ''&&'' (und) und ''||'' (oder) verknüft werden. Mit dem vorangestellten Operator ''!'' (nicht) erhält man das "Gegenteil" des Wahrheitswertes.
 +</WRAP>
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 200px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'boolean1'}">
 +
 +<script type="text/plain" title="Test1.java">
 +boolean b1 = 3 < 5;
 +println(b1);
 +boolean b2 = 7 > 12;
 +println(b2);
 +println(b1 || b2);
 +println(b1 && b2);
 +println(!b1);
 +</script>
 +
 +</div>
 +
 +</HTML>
 + \\ 
  
einstieg/weiteredatentypen2/start.1599918667.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki