Kein Bild
Java Programmierung

Java 11: GUI Kontoprogramm mit verschiedenen Konten

Im letzten Tutorial haben ich euch ja gezeigt wie ihr eine Grafische Oberfläche mit Java erzeugt. Das Kontoprogramm welches wir hier geschrieben haben erweitern wir jetzt etwas. Jetzt soll es möglich sein das wir auch mehre Konten haben welche verwaltet werden können. Dazu legt ihr ein weiteres Label an, in dem Label gebt ihr den Text Kontonummer ein. Außerdem erstellt ihr ein Textfeld in welches man die Entsprechende Kontonummer eintragen kann. Eure Grafische Oberfläche sollte dann etwa so aussehen: Ich gebe euch noch einen kleinen Tipp. Bei den Kontonummern solltet ihr mit einem Array arbeiten. Sonst ist bei dieser kleinen Programmänderung aber nichts schweres dabei. Es werden nur dinge verwendet welche ich euch in den alten Java Tutorials schon gezeigt habe. Euer Fertiger Quellcode sollte etwa so aussehen: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * StartKonto.java * * Created on 01.08.2009, 16:26:57 */ import java.io.BufferedReader; import java.io.InputStreamReader; import javax.swing.JOptionPane; /** * * @author Andreas */ public class StartKonto extends javax.swing.JFrame { double kontostand = 0.0; double letzteBuchung; double betrag; String eingabe; String ausgabe; String Kontonummerstr; int Kontonummerint; double [] Kontonumer = new double [100] ; BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); /** Creates new form StartKonto */ public StartKonto() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings(„unchecked“) // private void initComponents() { jLabBuchung = new javax.swing.JLabel(); jLabKontostand = new javax.swing.JLabel(); jLabEingabe = new javax.swing.JLabel(); jLabAusgabe = new javax.swing.JLabel(); jButton1 = new javax.swing.JButton(); jTextEingabe = new javax.swing.JTextField(); jLabText = new javax.swing.JLabel(); jLabKontonummer = new javax.swing.JLabel(); jTextKontonummer = new javax.swing.JTextField(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabBuchung.setFont(new java.awt.Font(„Tahoma“, 1, 11)); // NOI18N […]

Kein Bild
Java Programmierung

Java 10: Einführung in die Grafische Oberfläche – kleines Kontoprogramm

In diesem Artikel zeige ich euch wie ihr in Java ein Programm mit einer grafischen Oberfläche schreiben könnt. Dazu müssen wir ein paar Dinge anders machen beim erstellen eines neuen Projekts. Zunächst klickt ihr auf  File –> New Project… –> bei Categories wählt ihr wie ihr es schon kennt Java und bei Projects lasst ihr auch Java Application. Jetzt ist es aber wichtig das ihr bei “Create Main Class” den Haken weg macht, danach klickt ihr auf Finish.    Jetzt macht ihr einen Rechtsklick auf “JFrame Form” wie man es in dem Screenshot sehen kann. Dort wählt ihr en Menupunkt New und klickt dort auf Java Class.    Jetzt seht ihr dieses Fenster dort gebt ihr bei Class Name einen Namen ein wie eure Klasse heißen soll. Ich habe sie jetzt StartKonto genannt. Jetzt seht ihr einen grauen Kasten. Dies ist eure Grafische Oberfläche wo ihr Buttons Textfelder und vieles mehr hinzufügen könnt. Auf der Rechten Seite bei der Palette könnt ihr unter dem Menupunkt Swing Controls z.B. Labels oder Textfelder hinzufügen. Dazu zieht ihr die Gewünschte Funktion einfach in euren Design Bereich (die graue Box). Ein Label ist etwas wo ihr einen Text ausgeben könnt. Bei einem Text Field könnt der Benutzter eures Programms selber eine Eingabe machen. Für den Anfang ist der Button noch eine wichtige Funktion. Diesen könnt ihr z.B. zum Starten eures Programms verwenden. Wenn ihr jetzt z.B. möchtet das euer Programm startet sobald ihr mit der Maus auf den Button klickt müsst ihr so vorgehen:   Ihr klickt zunächst auf den Button so das er markiert ist. Danach geht ihr auf der rechten Seite bei den Properties auf “Events”, dort scrollt ihr nach unten bis ihr “mouseClicked” seht. Wenn ihr das gefunden habt klickt ihr auf das … dann öffnet sich das Fenster Handlers for […]

Kein Bild
Java Programmierung

Java 9: Inhalt einer Textdatei in eine andere Datei kopieren

Im letzten Tutorial habe ich euch gezeigt wie ihr den Inhalt ein Textdatei auslest und filtern könnt. Jetzt zeige ich euch wie ihr den Inhalt einer Textdatei auslesen könnt und diesen Text wieder in eine andere Textdatei schreibt. Dazu benötigt ihr erst einmal diese 2 Packages: import java.io.FileWriter; import java.io.BufferedWriter; Dies ist der Code wie ihr den Text von einer Variablen in eine Textdatei schreiben könnt. Damit wird der Text Bla in die Datei Logfile2.txt erstellt. BufferedWriter inFile2 = new BufferedWriter (new FileWriter („D:\\Logfile2.txt“)); String Text = „Bla“; inFile2.write(Text); Die eigentliche Aufgabe habe ich oben schon einmal beschrieben ihr sollt den Inhalt einer Textdatei auslesen und diesen Text in einer anderen Textdatei einfügen. Dazu erstellt in dem Ordner wo sich eure Logfile.txt befindet eine Logfile2.txt Datei. So sollte euer fertiges Programm ca. aussehen: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package kopieren; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.FileReader; import java.io.FileWriter; import java.io.BufferedWriter; /** * * @author Andreas */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { try { BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); System.out.println(„*****************“); System.out.println(„*** Kopieren ***“); System.out.println(„*****************“); String aktline = „“; BufferedReader inFile = new BufferedReader (new FileReader („D:\\Logfile.txt“)); BufferedWriter inFile2 = new BufferedWriter (new FileWriter („D:\\Logfile2.txt“)); aktline = inFile.readLine(); while (aktline!= null) { inFile2.write(aktline); System.out.println(aktline); aktline = inFile.readLine(); } inFile.close(); inFile2.close(); } catch(Exception ex) { System.out.println(„Irgendwas ist schief gelaufen !!!“); System.out.println(ex.getMessage() ); } // TODO code application logic here } } In der Zeile 10 und 11 werden die 2 Packages importiert welche ihr zum beschreiben einer Textdatei benötigt. In der Zeile 37 und 38 definieren wir die Datei welche ausgelesen werden soll und welche eingelesen werden soll. In der Zeile 40 lesen wir […]

Kein Bild
Java Programmierung

Java 8: Inhalt einer Datei auslesen und filtern

Oft benötigt müssen ja irgendwelche Inhalte einer Datei eingelesen und weiter bearbeitet werden. In dem Teil der Java Serie zeige ich euch wie ihr den Inhalt einer Textdatei auslesen könnt und den Text filtern könnt. Damit mit einer Datei gearbeitet werden kann benötigt man einen so genannten Stream, das kann man sich als eine Verbindung zu der Datei vorstellen. Durch diese Verbindung zu der Datei können dann Datenströme fließen. Damit man eine Datei auslesen kann muss man diese 3 Schritte berücksichtigen: Datei öffnen, Inhalt einlesen und anschließend die Datei wie der schließen. Zunächst müsst ihr wieder dieses Package importieren: import java.io.FileReader; Hier ist der passende Code dazu: String aktline = „“; BufferedReader inFile = new BufferedReader (new FileReader („D:\\Logfile.txt“)); aktline = inFile.readLine(); while (aktline!= null) { System.out.println(aktline); aktline = inFile.readLine(); } inFile.close(); Für die nächste Aufgabe müsst ihr noch einen weiteren Befehl kennen. Mit diesem Befehl könnt ihr heraussuchen ob der Inhalt einer Variablen mit der einem bestimmten Wort beginnt. Variable.startsWith („Wort“); Jetzt zur eigentlichen Aufgabe, es soll ein Programm geschrieben werden mit welchem man eine Datei mit dem Namen Logfile.txt auslesen kann. Das Textfile soll diesen Text enthalten: Action: Starting system Action: Calculating  memory Warning: Not enough memory Error: Access denied Action: Open network drive Den Inhalt dieser Datei sollen die Benutzter filtern können. Er wird also beim Start des Programms aufgefordert entweder Action, Warning oder Error ein zu geben. Wenn er das gemacht hat werden nur die Meldungen mit dem jeweiligen Befehl ausgegeben. Euer Programm sollte ungefähr so aussehen wie dieses Beispiel: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package dateinzugriff2; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.FileReader; /** * * @author Andreas */ public class Main { /** * @param args the command line arguments */ […]

Kein Bild
Java Programmierung

Java 7: Array – Lotto Programm erstellen

Ein Array verwendet man wenn z.B. sehr viele Variablen erstellt werden sollen. So ein Aufgabe könnte man z.B. bei haben wenn man tausende von Artikelnummern mit fortlaufenden Nummern erstellen soll. Bis jetzt würden wir ja jede Variable einzeln erstellen, das wäre bei einigen tausend Variablen sehr viel Arbeit und würde den Code extrem groß machen. Mit einem Array geht so etwas aber mit nur einem Befehl. Ein Array ist folgendermaßen aufgebaut: [] = new [] ; Hier ein Beispiel wie man ein Array mit 100 integer Werten anlegt. int[] artikelnummern = new int [100] ; Wichtig ist noch an zu merken das ein Array mit der Nr. 0 beginnt. das Array artikelnummern geht also von der Zahl 0 bis 99. Wenn ihr jetzt in das 15. Element den Wert 4 Speichern möchtet macht ihr das wie so: artikelnummern[14]=4; Wenn ihr jetzt das 15. Element von diesem Array wieder ausgeben wollt macht ihr das mit diesem Befehl. System.out.println (artikelnummern[14]); Jetzt aber zu der eigentlichen Aufgabe, dem Programm welches wir schreiben wollen. Jeder von euch will bestimmt einmal im Lotto gewinnen. Hier schreiben wir uns jetzt ein kleines Programm mit dem wir Lotto spielen können aber kein Geld dabei ausgeben. Das dumme ist wir Gewinnen leider auch keine Millionen :). Bei dem Programm fordert ihr den User zunächst auf 6 Zahlen ein zu geben, wenn der Benutzer seine Zahlen eingegeben hat zeigt ihr ihm diese noch einmal. Anschließend müsst ihr per Zufallsgenerator 6 Zahlen ziehen. Jetzt ist die Frage wie bekomme kann ich eine Zufallszahl heraus bekommen. Dazu könnt ihr diesen Codeschnipsel verwenden: import java.util.Random; // Packege welches Importiert werden muss int aktuelleZahl=0; Random mygenerator = new Random (); // Zufallsgenerator Anlegen aktuelleZahl=mygenerator.nextInt(50); So wir eine Zufallszahl zwischen 0 und 49 gezogen denn beim Lotto gehen die zahlen ja bis 49. Ok […]

Kein Bild
Java Programmierung

Java 6: Kassen Programm For Schleife

Heute gibt es wieder eine neue Schleife und zwar die so genannte for Schleife. Hin und wieder wird gesagt das eine for Schleife semantisch identisch mit eine while Schleife ist. Eine for Schleife wird aber Bevorzugt wenn man die Anzahl der Schleifendurchläufte davor schon kennt. Das heißt z.B. wenn wir 5 mal das Wort Hello World ausgeben wollen wäre eine For Schleife praktischer als eine While Schleife. Eine for schleife ist so aufgebaut: for (Bedingung) { Anweisung 1; } Hier noch ein kleines Beispiel. Wie ich oben beschrieben habe geben wir mit dem Schleife jetzt 5 mal Hello World aus. for (int i=1; i0) { gesamtbetrag = gesamtbetrag + preis1_double; System.out.println(„Bitte geben Sie den nächsten Preis ein“); preis1 = input.readLine(); preis1_double=Double.parseDouble(preis1); } double endbetrag; if (kundekarte_double==1) { endbetrag = gesamtbetrag * 0.95; } else { endbetrag = gesamtbetrag; } System.out.println(„Bitte zahlen Sie : “ +endbetrag+ “ €“); System.out.println(„Wieviele Rechnungen sollen gedruckt werden?1“); String anzahlRechnungenStr = input.readLine(); int anzahlRechnungen; anzahlRechnungen = Integer.parseInt(anzahlRechnungenStr); for (int i=1; i

Kein Bild
Java Programmierung

Java 5: Kassen Programm while, do-while Schleife

Heute lernt ihr die While Schleife kennen. Eine While Schleife kann man dafür benützten um eine bestimmte Gruppe von Anweisungen immer wieder ausführen zu lassen bis eine davor festgelegte Bedingung erfüllt ist. Eine While Schleife sieht vom aufbau so aus: While (Bedingung) { Anweisung 1; Anweisung 2; Anweisung 3; etc. } Zu einer While Schleife sagt man auch Kopfgesteuerte Schleife, weil die Bedingungn am Schleifen Anfang also im Kopf steht. Jetzt fragt ihr euch bestimmt gibt es dann auch eine Fußgesteuerte Schleife. Eure Vermutung ist richtig. Hier seht ihr wie diese aufgebaut ist: do { Anweisung 1; Anweisung 2; Anweisung 3; } while (Bedingung); Jetzt kennt ihr schon verschiedene Schleifen. es gibt noch etwas weiteres was oft benötigt wird und zwar die Umwandlung von einem String in ein Int oder von einem String in ein Double etc. Hier seht ihr wie ihr diese Operationen durchführen könnt. Befehl Aufgabe Beispiel Integer.Parse() String –> Int int echteZahl; string zahlAlsString=”123”; echteZahl = Integer.parseInt(zahlAlsString ); Double.Parse() String –> Double double echteZahl; string ZahAlsString=”123.22”; echteZahl = Double.parseDouble(zahlAlsString ); String.valueOf() Verschiedene Typen –> String Int eineZahl=100; string zahlAlsString = String.valueOf(eineZahl); Jetzt erweitern wir das Kassen Programm welche wir im 4. Tutorial geschrieben haben. Man soll jetzt nicht nur noch eine feste Anzahl an Preisen Eintragen können. Es soll jetzt möglich sein das man so viele Preise ein gibt bis man bestätigt das man Fertig ist mit der Eingabe. Wir werden das so realisieren das eine 0 eingegeben wird wenn man alle Preise eingegeben hat. Wenn das der User gemacht hat sollen wieder alle Preise zusammen gezählt werden und wenn eine Kundenkarte vorhanden ist sollen wieder 5 % vom Gesamtpreis abgezogen werden. Das fertige Ergebnis soll anschließend wieder ausgegeben werden. /* * To change this template, choose Tools | Templates * and open the template in the […]

Kein Bild
Java Programmierung

Java 4: Kassen Programm mit if Abfrage

Heute zeige ich euch was ihr mit dem Befehl if machen könnt. Wenn ihr eine if Abfrage macht kann euer Programm an 2 verschiedenen Wegen weiter gehen. Hier habe ich ein Struktugramm für euch damit ihr besser sehen könnt wie so eine If Abfrage aufgebaut ist.   Bei einer if Anweisung kann als Antwort eine 2 Wahrheitswerte geben. Entweder true oder false. Oft werden mit einem If Block 2 Variablen verglichen. In dieser Tabelle seht ihr alle Vergleichsoperatoren die ihr in einer IF-Abfrage verwenden könnt. kleiner < kleiner gleich <= größer > größer gleich >= gleich == ungleich != Eine if Verzweigung ist wie folgt aufgebaut: if (Bedingung) { Anweisungsblock 1; } else { Abweisungsblock 2; } Zum Testen der if Abfrage schreiben wir ein kleines Kassen Programm. Das Programm soll zunächst abfragen ob er Kunde eine Kundenkarte besitzt. Hier kann man dann per Usereingabe wählen ob eine Kundenkarte vorhanden (1) oder nicht vorhanden (0) ist. Danach sollt ihr den User auffordern den Geldbetrag von 3 Produkten ein zu geben. Diese 3 eingegeben Werte sollt ihr anschließend addieren. Wenn der Kunde eine Kundenkarte besitzt soll es auf den Gesamtbetrag 5 % Rabatt geben. Danach sollt ihr den Betrag ausgeben. /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package kasse; import java.io.BufferedReader; import java.io.InputStreamReader; /** * * @author Andreas */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { System.out.println(„Besitzt der Kunde eine Kundenkarte? (Ja=1, Nein=0)“); try { BufferedReader input=new BufferedReader (new InputStreamReader (System.in)); String kundenkarte; kundenkarte = input.readLine(); double kundekarte_double; kundekarte_double=Double.parseDouble(kundenkarte); System.out.println(„Bitte geben Sie den ersten Preis ein“); String preis1; preis1 = input.readLine(); double preis1_double; preis1_double=Double.parseDouble(preis1); System.out.println(„Bitte geben Sie den zweiten Preis ein“); String preis2; preis2 = input.readLine(); double […]

Kein Bild
Java Programmierung

Java 3: Werte einlesen, zwischenspeichern und wieder ausgeben

In dieser Ausgabe der Java Artikelserie zeige ich euch wie ihr einen Wert bzw. ein Wort welches ihr in die Konsole eingebt speichert und anschließend wieder ausgebt. Ein Recht gutes Beispiel hierfür ist das man eine Abfrage des Namens macht. Die Aufgabenstellung sieht wie folgt aus: Den Benutzer auffordern seinen Namen ein zu geben Den eingegeben Namen in einer Variablen speichern Den gespeicherten Namen in der Konsole ausgeben Zum einlesen von einem Wert brauchen wir wieder eine neuen Befehl. Dieser lautet. BufferedReader input=new BufferedReader (new InputStreamReader (System.in)); String strInput; strInput = input.readLine(); Damit dieser Befehl aber funktioniert muss man das Programm anweisen die bis dahin unbekannten Datentypen “BufferReader” und InputStreamReader” zu Importieren. Dazu fügt ihr unter dem Befehl package namen_eingabe; Diese beiden Befehle ein: import java.io.BufferedReader; import java.io.InputStreamReader; Damit das Programm läuft braucht ihr noch eine weitere Anweisung und zwar try und catch. Das ganze ist so aufgebaut. try { // Die Befehlskette welche ausgeführt werden soll. } catch (Exception ex) { // Wenn irgend etwas schief geht wird diese Operation ausgeführt. } Jetzt solltet ihr in der Lage ein Programm zu schreiben wie es oben gewünscht ist. Euer Fertiges Programm sollte ca. so aussehen: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package namen_eingabe; import java.io.BufferedReader; import java.io.InputStreamReader; /** * * @author Andreas */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { System.out.println(„Bitte gebe deinen Namen ein“); try { BufferedReader input=new BufferedReader (new InputStreamReader (System.in)); String strInput; strInput = input.readLine(); System.out.println(„Hallo “ +strInput); } catch (Exception ex) { System.out.println(„Fehlerhafte Eingabe“); } // TODO code application logic here } } In Zeile 7 und 8 werden wie oben beschrieben die 2 Packages importiert. In der Zeile 20 wird […]

Kein Bild
Java Programmierung

Java 2: Rechnen mit Variablen

Nachdem ihr in dem ersten Java Tutorial gelernt habt wie ihr ein neues Projekt in Netbeans erstellt und dort Hello World ausgebt. Jetzt zeige ich euch wie ihr Variablen definieren könnt, diesen eine Zahl zuweist und danach mit den Variablen rechnet. Ein paar Informationen vorne weg. Bei den Variablen gibt es verschiedene Typen. Hier muss man beim späteren Programmieren darauf achten was man benötigt. Variablentyp Verwendung (Speicherbelegung) Beispiel int Ganze Zahlen (4 Byte) int ersteZahl; ersteZahl = 22; double Kommazahlen (8 Byte) double ergebnis; ergebnis = 7+3.5; char 1 Zeichen (2 Byte) char einZeichen; einZeichen=,A` String Zeichenkette (variabel) string vieleZeichen; vieleZeichen = „Hallo“; Jetzt erstellt ihr wieder ein neues Projekt wie ihr es im ersten Tutorial auch gemacht habt. Ich nehme jetzt als Project Name “Variablen_Rechnung”. Hier kurz zusammengefasst was wir bei dem Programm alles machen müssen 3 Variablen erstellen (zahl1, zahl2 und ergebnis) Die Variablen mit dem Variablentyp “int” Deklarieren. Da wir erst einmal nur Ganze Zahlen zum Rechnen benötigen. Der Variablen zahl1 den Wert 10 zuweisen. Der Variablen zahl2 den Wert 20 zuweisen. Die beiden Variablen zahl1 und zahl2 addieren und das Ergebnis in der Variablen ergebnis speichern. Den Wert aus der Variablen Ergebnis in der Console ausgeben. Mit dem schreiben unseren Programms beginnen wir wieder unter der Zeile public static void main(String[] args) { So ca. sollte euer fertiges Programm aussehen: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package variablen_rechnung; /** * * @author Andreas */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { int zahl1; zahl1=10; int zahl2; zahl2=20; int ergebnis; ergebnis=zahl1+zahl2; System.out.println(„Das Ergebnis lautet “ +ergebnis); // TODO code application logic here } } In den Zeilen 18, 21 und 24 werden […]