CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002 Eingabe über Tastatur import java.io.*; public class Eingabetest{ public static void main(String[ ] args) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader tastatur = new BufferedReader(isr); System.out.print("Bitte geben Sie einen Text ein: "); String eingabe = tastatur.readLine(); System.out.println( "Sie haben folgenden Text eingegeben: " + eingabe); } } 18. November 2002 CuP WS 2002/2003 2 Schilling in Euro - Beispiel 1/2 import java.io.*; public class SchillingEuro{ public static void main(String[] args) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader tastatur = new BufferedReader(isr); System.out.print( "Bitte geben Sie einen Betrag in Schilling ein: "); String eingabe = tastatur.readLine( ); 18. November 2002 CuP WS 2002/2003 3 Schilling in Euro - Beispiel 2/2 System.out.println("Sie haben folgenden " + "Schillingbetrag eingegeben: " + eingabe); double schilling = Double.parseDouble(eingabe); int schillingmalhundert = (int) ( schilling*100/13.7603); double euro = schillingmalhundert/100.; System.out.println("Dieser Betrag entspricht " + euro + " Euro."); } } 18. November 2002 CuP WS 2002/2003 4 Schilling in Euro - mehrmals Stellt man den Teil des Codes von System.out.print() bis zum Ende in eine for-Anweisung for(int i = 0; i < n; i++){ System.out.print(.... System.out.println("Dieser Betrag entspricht " + euro + " Euro."); } so wird der Code n-mal durchgeführt. 18. November 2002 CuP WS 2002/2003 5 Schilling in Euro - beliebig oft 1/3 import java.io.*; public class SEuroBeliebigOft{ public static void main(String[ ] args) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader tastatur = new BufferedReader(isr); System.out.println("Das folgende Programm konvertiert "+ "die eingegeben Schillingbetraege in Euro. \nEs wird " + "durch Eingabe eines negativen Betrages beendet.\n");. 18. November 2002 CuP WS 2002/2003 6 Schilling in Euro - beliebig oft 2/3 while(true){ System.out.print("Bitte geben Sie einen Schillingbetrag ein: "); String eingabe = tastatur.readLine(); double schilling = Double.parseDouble(eingabe); if(schilling < 0){ System.out.println("Dieser Betrag ist negativ " + "und beendet das Programm."); break; } 18. November 2002 CuP WS 2002/2003 7 Schilling in Euro - beliebig oft 3/3 int schillingmalhundert = (int) ( schilling*100/13.7603); double euro = schillingmalhundert/100.; System.out.println("Der Betrag von " + eingabe + " Schilling entspricht " + euro + " Euro. \n"); } } } // Ende While // Ende main // Ende der Klasse 18. November 2002 CuP WS 2002/2003 8 Was war hier neu? import java.io.*; public static void main(String[ ] args) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader tastatur = new BufferedReader(isr); break; Ausgabe einer Zahl mit zwei Dezimalstellen. 18. November 2002 CuP WS 2002/2003 9 Klang import java.awt.*; import java.net.*; import java.applet.*; public class Klang{ public static void main(String[ ] args) throws Exception{ String s = "file://F:/JVorlWS02-03 Neu/VN13/005.wav"; // URL: Uniform Resource Locator URL url = new URL(s); AudioClip klang = Applet.newAudioClip(url); klang.play(); } } 18. November 2002 CuP WS 2002/2003 10 Ton import java.awt.*; import java.net.*; import java.applet.*; public class Ton{ public static void toene(String a) throws Exception{ String s = "file://C:/I/VN13/"+ a +".wav"; URL url = new URL(s); AudioClip audioClip = Applet.newAudioClip(url); audioClip.play(); } public static void main(String[ ] args) throws Exception{ toene(“004");} } 18. November 2002 CuP WS 2002/2003 11 Was war jetzt neu? import java.net.*; public static void main(String[ ] args) throws Exception{ String s = "file://..Pfad..."; URL: Uniform Resource Locator URL url = new URL(s); AudioClip klang = Applet.newAudioClip(url); newAudioClip(url) ist also eine Klassenmethode der Klasse Applet, die ein Objekt vom Typ AudioClip zurückgibt. klang.play( ) play() ist also eine Objektmethode von Objekten des Typs AudioClip 18. November 2002 CuP WS 2002/2003 12 Tier public class Tier{ int beineanzahl = 4; public void gibLaut() throws Exception{ System.out.println("Keine Antwort!"); } } 18. November 2002 CuP WS 2002/2003 13 TesteTier public class TesteTier{ public static void main(String[ ] args) throws Exception{ Tier liebesTier = new Tier(); liebesTier.gibLaut(); } } 18. November 2002 CuP WS 2002/2003 14 Hund public class Hund extends Tier{ public void gibLaut() throws Exception{ System.out.println("Wau wau!"); Ton.toene("hund"); } public static void main(String[ ] args) throws Exception{ Hund waldi = new Hund(); waldi.gibLaut( ); } } 18. November 2002 CuP WS 2002/2003 15 PromiQuiz 10 Goethe Wolfgang Schiller Friedrich Grillparzer Franz Kleist Heinrich Newton Isaac Leibniz Gottfried Aichinger Ilse D'Arc Johanna Mahler Alma Windsor Elisabeth 18. November 2002 CuP WS 2002/2003 16 String Tokenizer import java.util.*; public class Woerter{ public static void main(String[ ] args){ String s = "Guten Morgen!"; StringTokenizer st = new StringTokenizer(s); String s1 = st.nextToken( ); String s2 = st.nextToken( ); System.out.println(s1 + " " + s2); } } 18. November 2002 CuP WS 2002/2003 17 Die Klasse Random import java.util.*; public class Zufall{ public static void main(String[ ] args){ Random zufall = new Random(); int z; for ( int i = 0; i < 30; i++) { z = zufall.nextInt(10); System.out.println ( z ); } } } 18. November 2002 CuP WS 2002/2003 18 Quiz 1/3 import java.io.*; import java.util.*; public class Quiz{ public static void main(String[] args) throws IOException{ FileReader dateiStrom = new FileReader("promi.txt"); BufferedReader eingabeDatei = new BufferedReader(dateiStrom); String zeile; int zeilenanzahl; zeile = eingabeDatei.readLine(); zeilenanzahl = Integer.parseInt(zeile); 18. November 2002 CuP WS 2002/2003 19 Quiz 2/3 Random zufall = new Random(); int zufallszahl = zufall.nextInt(zeilenanzahl) + 1; for(int i = 1; i <= zufallszahl; i++) zeile = eingabeDatei.readLine(); StringTokenizer st = new StringTokenizer(zeile); String name = st.nextToken(); String vorname = st.nextToken(); 18. November 2002 CuP WS 2002/2003 20 Quiz 3/3 System.out.print("Bitte den Vornamen von " + name + " eingeben: "); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader tastatur = new BufferedReader(isr); String antwort = tastatur.readLine( ); if(vorname.equalsIgnoreCase(antwort)) System.out.println("Diese Antwort ist richtig!"); else System.out.println("Die richtige Antwort ist "+ vorname); } } 18. November 2002 CuP WS 2002/2003 21