Artox Geschrieben 2. Januar 2007 Autor Geschrieben 2. Januar 2007 So ganz bin ich da jetzt nicht mitgekommen also stand der dinge ist import java.io.*; public class Main { public static void main(String[] args) throws IOException { String User; String JaNein; //String Kind; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Hallo bitte gebe deinen Spieler Namen ein: "); User = in.readLine(); System.out.println("Hallo "+User+" das ist ein Rollen Spiel \n Du stehst am Waldrand vor dir \n siehst du ein Dorf \n Willst du ins Dorf gehen Ja/Nein"); JaNein = in.readLine(); if(JaNein.equals("Ja")) starteSpiel(); else System.err.println("Du wolltest nicht in das Dorf gehen \n die Sonne ging unter und die wilden Tiere \n taten den rest \n GAME OVER"); } private static void starteSpiel() throws IOException { String jaNein; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Du begibst dich in die Stadt auf dem Weg \n dahin triffst du einen alten Mann \n dieser möchte dir einen alten stock geben \n nehmen/weitergehen"); jaNein = in.readLine(); if(jaNein.equals("nehmen")) mitStock(); else ohneStock(); } private static void mitStock() { //hier müsste jetzt der senf mit dem BufferedReader stehen usw...... } private static void ohneStock() {} } das habe ich die zweite datei eingefügt "eingabe.java" import java.io.*; /** Die Klasse enthält Eingabemethoden für die * Eingabe eines Strings mit und ohne Eingabeaufforderung *Eingabe eines Zeichens mit und ohne Eingabeaufforderung *Eingabe einer Zahl (integer) mit und ohne Eingabeaufforderung **/ public class eingabe { /** Eingabe eines String ohne Eingabeaufforderung ******* * die Methode liefert einen String zurück, der über Tastatur eingeben wurde **/ public String eingString() { String sin = " "; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try { sin=in.readLine(); } catch(IOException e) { System.out.println(e.toString()); } return sin; } /** Eingabe eines String mit Eingabeaufforderung ******* * die Methode liefert einen String zurück, der über Tastatur eingeben wurde **/ public String eingString(String s) { String sin = " "; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print(s); sin=in.readLine(); } catch(IOException e) { System.out.println(e.toString()); } return sin; } /** Eingabe eines Zeichens ohne Eingabeaufforderung ******* * die Methode liefert ein zeichen zurück, das über Tastatur eingeben wurde **/ public char eingChar() { char cin = ' '; DataInputStream in = new DataInputStream(System.in); try { cin=in.readChar(); System.out.print("..." + cin); } catch(IOException e) { System.out.println(e.toString()); } return cin; } /** Eingabe eines Zeichens mit Eingabeaufforderung ******* * die Methode liefert ein zeichen zurück, das über Tastatur eingeben wurde **/ public char eingChar(String s) { char cin = ' '; DataInputStream in = new DataInputStream(System.in); try { System.out.print(s); cin=in.readChar(); } catch(IOException e) { System.out.println(e.toString()); } return cin; } /** Eingabe eines Integer ohne Eingabeaufforderung ******* * die Methode leist einen String ein und wandelt ihn in int **/ public int eingInt() { Integer i = new Integer(eingString()); return i.intValue(); } /** Eingabe eines Integer mit Eingabeaufforderung ******* * die Methode leist einen String ein und wandelt ihn in int **/ public int eingInt(String s) { Integer i = new Integer(eingString(s)); return i.intValue(); } } aber so recht geht das nicht und schaut auch komisch aus Zitieren
kingofbrain Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 Servus, das hört sich jetzt vielleicht fies an, ist aber leider so: Dein eingeschlagener Weg funktioniert nicht. Es ist nicht möglich, Java erst mal zu lernen und dann die objektorientierte Programmierung verstehen zu wollen. Du wirst sonst bei jedem syntaktischen Merkmal hier auf der Matte stehen und eine Detailfrage stellen, die - hast Du den Gesamtzusammenhang erst mal umrissen - nicht auftreten würde. Du kannst ja auch nicht KFZ-Mechaniker werden, indem Du irgendein Teil aus Deinem Auto rausreißt und Dir ein Ventil erklären lässt, beim nächsten Ventil aus einem anderen Bauteil aber schon wieder das selbe Problem hast. Du lernst erst mal die Grundlagen und dann die Details. Deshalb: beschäftige Dich doch mit der OOP und dann mit einem Java-Buch. Ich empfinde z.B. www.javabuch.de - Das Handbuch der Java-Programmierung als besser als die Insel. Schöne Grüße, Peter Zitieren
diesy Geschrieben 2. Januar 2007 Geschrieben 2. Januar 2007 So könnte es gehen bzw. wäre realisierbar auf dem einfachen Weg: Die Main-Klasse: public class Main { private static Eingabe eing; private static String user; private static String jaNein; private static String meinStock; /** * @param args */ public static void main(String[] args) { eing = new Eingabe(); System.out.println("Hallo bitte gebe deinen Spieler Namen ein: "); user = eing.eingString(); System.out.println("Hallo " + user + " das ist ein Rollen Spiel \n Du stehst am Waldrand vor dir \n siehst du ein Dorf \n Willst du ins Dorf gehen Ja/Nein"); jaNein = eing.eingString(); if (jaNein.equalsIgnoreCase("Ja")) starteSpiel(); else System.err.println("Du wolltest nicht in das Dorf gehen \n die Sonne ging unter und die wilden Tiere \n taten den Rest \n GAME OVER"); } private static void starteSpiel() { System.out.println("Du begibst dich in die Stadt auf dem Weg \n dahin triffst du einen alten Mann \n dieser möchte dir einen alten stock geben \n nehmen/weitergehen"); jaNein = eing.eingString(); if (jaNein.equalsIgnoreCase("nehmen")) mitStock(); else ohneStock(); } private static void mitStock() { meinStock = eing.eingString(); System.out.println(meinStock); // TODO Auto-generated method stub // usw. ... } private static void ohneStock() { // TODO Auto-generated method stub } } Die Eingabe-Klasse: import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStreamReader; /** * Die Klasse enthält Eingabemethoden für die Eingabe eines Strings mit und ohne * Eingabeaufforderung Eingabe eines Zeichens mit und ohne Eingabeaufforderung * Eingabe einer Zahl (integer) mit und ohne Eingabeaufforderung * */ public class Eingabe { /*************************************************************************** * Eingabe eines String ohne Eingabeaufforderung die Methode liefert einen * String zurück, der über Tastatur eingeben wurde **************************************************************************/ public String eingString() { String sin = " "; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try { sin = in.readLine(); } catch (IOException e) { System.out.println(e.toString()); } return sin; } /*************************************************************************** * Eingabe eines String mit Eingabeaufforderung die Methode liefert einen * String zurück, der über Tastatur eingeben wurde **************************************************************************/ public String eingString(String s) { String sin = " "; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print(s); sin = in.readLine(); } catch (IOException e) { System.out.println(e.toString()); } return sin; } /*************************************************************************** * Eingabe eines Zeichens ohne Eingabeaufforderung die Methode liefert ein * zeichen zurück, das über Tastatur eingeben wurde **************************************************************************/ public char eingChar() { char cin = ' '; DataInputStream in = new DataInputStream(System.in); try { cin = in.readChar(); System.out.print("..." + cin); } catch (IOException e) { System.out.println(e.toString()); } return cin; } /*************************************************************************** * Eingabe eines Zeichens mit Eingabeaufforderung die Methode liefert ein * zeichen zurück, das über Tastatur eingeben wurde **************************************************************************/ public char eingChar(String s) { char cin = ' '; DataInputStream in = new DataInputStream(System.in); try { System.out.print(s); cin = in.readChar(); } catch (IOException e) { System.out.println(e.toString()); } return cin; } /*************************************************************************** * Eingabe eines Integer ohne Eingabeaufforderung die Methode leist einen * String ein und wandelt ihn in int **************************************************************************/ public int eingInt() { Integer i = new Integer(eingString()); return i.intValue(); } /*************************************************************************** * Eingabe eines Integer mit Eingabeaufforderung die Methode leist einen * String ein und wandelt ihn in int **************************************************************************/ public int eingInt(String s) { Integer i = new Integer(eingString(s)); return i.intValue(); } } Das Ganze könnte man weiter verfeinern, indem man die ganzen Funktionen noch in Klassen auslagert, aber dazu sollte man sich belesen. Zitieren
Artox Geschrieben 3. Januar 2007 Autor Geschrieben 3. Januar 2007 Servus, das hört sich jetzt vielleicht fies an, ist aber leider so: Dein eingeschlagener Weg funktioniert nicht. Es ist nicht möglich, Java erst mal zu lernen und dann die objektorientierte Programmierung verstehen zu wollen. Du wirst sonst bei jedem syntaktischen Merkmal hier auf der Matte stehen und eine Detailfrage stellen, die - hast Du den Gesamtzusammenhang erst mal umrissen - nicht auftreten würde. Du kannst ja auch nicht KFZ-Mechaniker werden, indem Du irgendein Teil aus Deinem Auto rausreißt und Dir ein Ventil erklären lässt, beim nächsten Ventil aus einem anderen Bauteil aber schon wieder das selbe Problem hast. Du lernst erst mal die Grundlagen und dann die Details. Deshalb: beschäftige Dich doch mit der OOP und dann mit einem Java-Buch. Ich empfinde z.B. www.javabuch.de - Das Handbuch der Java-Programmierung als besser als die Insel. Schöne Grüße, Peter Sicherlich muss ich dir Grundsätzlich recht geben. Aber nur von Buch lesen kann man net lernen nur weil jemand 3 Bücher gelesen hat vom Zylinderkopf tauschen, deshab wird er trozdem Fragen wenn er vor dem Auto steht. Aber ich werde mir jetzt erstmal die OOP genauer ansehen. Tue mich nur leichter wenn ich in der Praxis vor einem Prob stehe, versuche es dann zu lösen und wenn das nicht geht schreie ich ganz laut hier ^^. @Diesy werde das mal ausprobieren danke dir Zitieren
kingofbrain Geschrieben 4. Januar 2007 Geschrieben 4. Januar 2007 Guten Morgen, da habe ich mich vielleicht unklar ausgedrückt. Es ist natürlich nicht sinnvoll, alleine Bücher zu lesen. Man muss den Inhalt schon gleich verarbeiten. Die meisten Bücher zu Java haben eine kurze Einführung in die Objektorientierung. Ansonsten gibt es auch kleine OO-Einführungstutorials, die einen in ca. 1-2 Stunden dahin bringen, das man Objekte und OOP prinzipiell versteht. Dann kannst Du ja mit dem ersten Buch weitermachen. Dort solltest Du aber nicht die Grundlagenthemen überspringen sondern durcharbeiten. Dann wirst Du Fragen wie die mit der Exception nicht haben, weil Du das Kapitel über Exceptionhandling gelesen hast. Viel Erfolg! Peter Zitieren
DiHo Geschrieben 6. Januar 2007 Geschrieben 6. Januar 2007 Hallo, finde es super, daß du den Ehrgeiz aufbringst eine Programmiersprache zu lernen. Allerdings ist es sicher nicht der beste / einfachste Weg mit Java anzufangen. Dadurch, da du gezwungenermaßen OOP programmieren mußt und somit gar kein wirklich einfacher Einstieg möglich ist. Ich bin ins Programmieren mit PHP eingestiegen. Das gute an der Sprache ist: 1. du brauchst kein OOP - kannst später aber darauf umsteigen 2. Datentypen, etc. werden nicht so streng gesehen bzw. Datentypen gibt es ja eigentlich nicht 3. Du kannst anhand von HTML direkt mit grafischer Oberfläche arbeiten und damit schon sehr gute Ergebnisse erzielen, die die Motivation wohl auch höher halten als die schwarze DOS-Box Auf dem Weg habe ich den Einstieg gefunden und mich immer weiter heran getastet an das OOP, ehe ich auf Java, C#, etc. umgestiegen bzw. damit eingestiegen bin. Vielleicht solltest du es so mal probieren - denn ein Spiel in Java zu programmieren wird dich noch vor ganz andere Probleme stellen. Gruß, DiHo Zitieren
perdian Geschrieben 7. Januar 2007 Geschrieben 7. Januar 2007 2. Datentypen, etc. werden nicht so streng gesehen bzw. Datentypen gibt es ja eigentlich nichtDas siehst du als Vorteil? :beagolisc Natürlich ist es für den Einsteiger einfach(er), wenn er sich nicht um Typing etc. kümmern muss - allerdings mit einem oftmals hohen Preis. Du musst dir an irgendeinem Punkt bewusst sein, dass es jetzt zu "vernünftigem" Typing übergeht und man die eigene Denkweise nochmal überdenken muss. Lazy Typing ist (sehr oft) einfach nur dreckiges Coding. Du gewöhnst dir einen schlechten Stil an, den man später nur sehr sehr schwer wieder los wird. Und sowas gerade am Anfang zu lernen verdirbt dir den Spaß und den Erfolg am Programmieren für eine lange Zeit. 3. Du kannst anhand von HTML direkt mit grafischer Oberfläche arbeiten und damit schon sehr gute Ergebnisse erzielen, die die Motivation wohl auch höher halten als die schwarze DOS-BoxEs geht beim Lernen der grundlegenden Programmiertechniken nicht um bunte Bilder. Im Gegenteil: Es geht um die Konzepte und die Logiken. Die Ausgabe dient eigentlich "nur" dazu zu sehen, ob das, was du im Code fabriziert hast auch die korrekten Ergebnisse liefert. Alles andere (also insbesondere das Konzentrieren auf die Oberfläche und die Darstellung) ist bei sowas hinderlich. Wer direkt am Anfang bunte Bildchen haben will macht irgendwas falsch. Zitieren
Artox Geschrieben 7. Januar 2007 Autor Geschrieben 7. Januar 2007 Also ganz so Richtig finde ich es auch nicht deine Idee mag zwar vom ansatz her nicht schlecht sein aber ich glaube es vereinfacht die sache nicht gerade im gesamten, da es ja wirklich so ist das man sich schlechte eigenschaften schlechter abgewöhnt, und ist es nicht eher so das wenn man etwas schwierigeres wie Java usw. einigermassen versteht und beherscht das man dann mit sachen wie PHP usw. besser klar kommt ?? trotzdem mal danke werde mich weiter mit Java beschäftigen und Ps. mir gehts da nicht um die Grafik ^^ Anbei ne frage weiss jemand warum ich zwar die Zeilen und den Zeilen einer Text datei auslesen und in der Konsole ausgeben kann sobald ich es aber mit der Config Sys probiere funzt das net ?? Zitieren
geloescht_Newlukai Geschrieben 8. Januar 2007 Geschrieben 8. Januar 2007 Ich denke, es ist nicht verkehrt, mehr als eine Sprache zu beherrschen Allerdings ist meiner Meinung nach Java wieder ein Spezialfall durch die Plattformunabhängigkeit, was man schon bei der Konsoleneingabe sieht. Dazu kommt noch, daß die Klassenbibliothek vor Design Patterns nur so strotzt. Java ist daher wohl eher eine schwierigere Sache um "mal eben" programmieren zu lernen. Aber wenn Du das Programmieren wirklich lernen willst, ist es sicher nicht verkehrt. Angefangen habe ich mit QBasic, Profan und dann VB. VB finde ich für den Anfang nicht übel. Zu Deinem Problem: An isch sollte das gehen. Poste doch mal den Code. Es kann allerdings sein, daß Windows den "Fuß drauf hat". Zitieren
Artox Geschrieben 11. Januar 2007 Autor Geschrieben 11. Januar 2007 Das schöne auch wenn java nicht gerade einfach ist ich arbeite mit Eclipse und man kann da immer gleich sehen wo ein fehler ist und darauf reagieren aus fehlern lern man ja naja und davon mache ich im moment noch genug ^^ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.