|
You last visited: Today at 02:23
Advertisement
Mein erstes Java Programm!! :D
Discussion on Mein erstes Java Programm!! :D within the Java forum part of the Coders Den category.
10/17/2015, 02:45
|
#1
|
elite*gold: 0
Join Date: Oct 2015
Posts: 44
Received Thanks: 8
|
Mein erstes Java Programm!! :D
Hallo liebe Community,
ich befinde mich seit kurzen auch in der Programmierspalte der Computer Sektion.
Hier habe ich mal ein kleines Programm geschrieben. Bitte bedenkt, dass ich erst seit September begonnen habe richtig zu programmieren und zuvor so gut wie keine Kenntnisse vorhanden waren.
Code:
import java.sql.Date;
import java.util.Calendar;
import javax.swing.JOptionPane;
public class BigProjectClass1 {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Herzlich-Willkommen auf meinem kleinen Tool.\ndieses "
+ "Programm wurde in Java geschrieben\nüber ein Feedback freue ich mich sehr\nwie du mich kontaktieren "
+ "kannst gehe auf Copyright!");
String input=JOptionPane.showInputDialog(null, "Du kannst unter verschiedenen Modi auswählen\n"
+ "\nWähle [1] für Taschenrechner"
+ "\nWähle [2] für Datum und Uhrzeit"
+ "\nWähle [3] für Copyrights.");
if(input.equals("1")) {
JOptionPane.showMessageDialog(null, "Du befindest dich nun im Taschenrechnermenü.");
String input2=JOptionPane.showInputDialog(null, "Bitte gebe nun die erste Zahl ein.");
String input3=JOptionPane.showInputDialog(null, "Bitte gebe nun die zweite Zahl ein.");
JOptionPane.showMessageDialog(null, "Deine Zahlen sind:" + input2 +" und "+ input3);
String input4=JOptionPane.showInputDialog(null, "Was möchtest du mit diesen Zahlen machen\n"
+ "\nWähle Addieren, Subtrahieren, Dividieren oder Multiplizieren.");
if (input4.equals("Addieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner));
}
if (input4.equals("addieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner));
}
if (input4.equals("Subtrahieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner - zweiteZahlRechner));
}
if (input4.equals("subtrahieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner - zweiteZahlRechner));
}
if (input4.equals("Dividieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner / zweiteZahlRechner));
}
if (input4.equals("dividieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner / zweiteZahlRechner));
}
if (input4.equals("Multiplizieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner * zweiteZahlRechner));
}
if (input4.equals("multiplizieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner * zweiteZahlRechner));
}
}
if (input.equals("2")){
Calendar cal = Calendar.getInstance ();
JOptionPane.showMessageDialog(null, "Datum: " + cal.get( Calendar.DAY_OF_MONTH ) +
"." + (cal.get( Calendar.MONTH ) + 1 ) +
"." + cal.get( Calendar.YEAR ) );
JOptionPane.showMessageDialog(null,"Uhrzeit: " + cal.get( Calendar.HOUR_OF_DAY ) + ":" +
cal.get( Calendar.MINUTE ) + ":" +
cal.get( Calendar.SECOND ) + ":" +
cal.get( Calendar.MILLISECOND ) );
}
if (input.equals("3")){
JOptionPane.showMessageDialog(null, "Du befindest dich im Copyright Menü.\n\nDer Code wurde von Pascal alias TheRealLenon selbst erstellt."
+ "\nDieses Programm wird für einen Download zur Verfügung gestellt.\nJegliche Veränderung und Verbreitung des Codes wird nicht geduldet.\nBesseres fällt mir nicht ein."
+ "\n Ich Hoffe ihr habt Spaß mit meinem Progrann!!");
}
}
}
Ich Hoffe euch hat mein Code gefallen.
Bitte schreibt mir Verbesserungsvorschläge oder Ideen, da mich die Sucht langsam Gepackt hat und es extrem Spaß macht, solche Kleinigkeiten zu programmieren.
Mit freundlichen Grüßen
TheRealLenon
|
|
|
10/17/2015, 12:03
|
#2
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,544
Received Thanks: 1,424
|
Eine Sache solltest du dir gleich merken: Möglichst wenig unnötigerweise doppelten Code in deinem Programm haben.
Dein Code:
Code:
if (input4.equals("Addieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner));
}
if (input4.equals("addieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner));
}
Besser:
Code:
// Addieren, addieren, AdDiErEn, aDdIeReN
if (input4.equalsIgnoreCase("Addieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner));
}
Stell dir vor, du veränderst etwas in "Addieren", vergisst dann aber "addieren" auch anzupassen. Dann suchst du ewig nach dem Fehler, weil du einfach nicht damit rechnest.
Dein Code:
Code:
if (input4.equals("addieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner));
}
if (input4.equals("subtrahieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner - zweiteZahlRechner));
}
if (input4.equals("dividieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner / zweiteZahlRechner));
}
if (input4.equals("multiplizieren")){
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
JOptionPane.showMessageDialog(null, (ersteZahlRechner * zweiteZahlRechner));
}
Besser:
Code:
int ersteZahlRechner = Integer.parseInt(input2);
int zweiteZahlRechner = Integer.parseInt(input3);
if (input4.equals("addieren")){
JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner));
}
if (input4.equals("subtrahieren")){
JOptionPane.showMessageDialog(null, (ersteZahlRechner - zweiteZahlRechner));
}
if (input4.equals("dividieren")){
JOptionPane.showMessageDialog(null, (ersteZahlRechner / zweiteZahlRechner));
}
if (input4.equals("multiplizieren")){
JOptionPane.showMessageDialog(null, (ersteZahlRechner * zweiteZahlRechner));
}
Stell dir vor, du möchtest jetzt lieber mit Kommazahlen (z.B. double) rechnen. Dann veränderst du es in "addieren", vergists es aber bei den anderen drei Rechenarten. Dann kann es sein, dass du wieder am rätseln bist warum da das Komma fehlt.
|
|
|
10/17/2015, 12:59
|
#3
|
elite*gold: 0
Join Date: Oct 2015
Posts: 44
Received Thanks: 8
|
Wie soll ich das mit dem Addieren addieren verstehen?
Denn wenn ich in dem Ausgeführtem Programm addieren eingebe und das im Code weggelassen habe, öffnet sich kein neues Fenster. Sprich das Programm läuft nicht weiter..
|
|
|
10/17/2015, 13:48
|
#4
|
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
|
Anstatt das hier:
PHP Code:
if (input4.equals("Addieren")){ int ersteZahlRechner = Integer.parseInt(input2); int zweiteZahlRechner = Integer.parseInt(input3); JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner)); } if (input4.equals("addieren")){ int ersteZahlRechner = Integer.parseInt(input2); int zweiteZahlRechner = Integer.parseInt(input3); JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner)); }
Kannst du folgendes machen:
PHP Code:
input4 = input4.trim(); //entfernt Leerzeichen vorne und hinten input4 = input4.toLowerCase(); //macht alle Zeichen klein aus Addieren wird addieren usw.
if (input4.equals("addieren")) { int ersteZahlRechner = Integer.parseInt(input2); int zweiteZahlRechner = Integer.parseInt(input3); JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner)); }
Dadurch ist deine Eingabe nicht mehr CaseSensitiv sowas wie AddIeReN ist dann auch möglich wenn du das nicht haben willst sondern nur Addieren und addieren kannst du beides auch in eine if packen mit dem logischen "Oder" Operator
PHP Code:
if (input4.equals("addieren") || input4.equals("Addieren") ) { int ersteZahlRechner = Integer.parseInt(input2); int zweiteZahlRechner = Integer.parseInt(input3); JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner)); }
Das x || y heißt so viel wie entweder x muss erfüllt sein ODER y.
PHP Code:
if (input4.equals("addieren") || input4.equals("Addieren") )
Das sagt also aus, dass die Eingabe entweder addieren oder Addieren sein muss.
Weitere Verbersserungsforschläge währen folgende:
Du kannst das parsen der Zahlen schon vorher machen also so in etwa:
PHP Code:
input4 = input4.trim(); input4 = input4.toLowerCase();
input2 = input2.trim(); input3 = input3.trim();
int ersteZahlRechner = Integer.parseInt(input2); int zweiteZahlRechner = Integer.parseInt(input3);
if (input4.equals("addieren") ) { JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner)); } if(input4.equals("subtrahieren")) { ... } ...
Dann kannst du dir noch überlegen ob du nicht else if verwenden willst. Das Programm muss dann nicht alle ifs prüfen sondern überpringt die anderen sobald eine zutrifft. Wenn die eingabe addieren war wird nur die if von addieren geprüft die anderen werden direkt übersprungen. Wenn die eingabe subtrahieren ist, wird erst addieren geprüft, dann subtrahieren und da das wahr ist, werden alle danach übersprungen.
PHP Code:
input4 = input4.trim(); input4 = input4.toLowerCase();
input2 = input2.trim(); //Leerzeichen abschneiden input3 = input3.trim();
int ersteZahlRechner = Integer.parseInt(input2); int zweiteZahlRechner = Integer.parseInt(input3);
if (input4.equals("addieren") ) { JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner)); } else if(input4.equals("subtrahieren")) { ... } else if(...) ...
Dann kannst du dir noch überlegen Kommawerte zuzulassen. Sofern du diese kennst also ein double und kein Int
PHP Code:
input4 = input4.trim(); input4 = input4.toLowerCase();
input2 = input2.trim(); //Leerzeichen abschneiden input3 = input3.trim();
input2 = input2.replace(",","."); //parseDouble erkennt nur ein . damit ersetzt du das Komma in deinem String durch einen Punkt aus 1,234 wird 1.234 input3 = input3.replace(",",".");
double ersteZahlRechner = Double.parseDouble(input2); double zweiteZahlRechner = Double.parseDouble(input3);
if (input4.equals("addieren") ) { JOptionPane.showMessageDialog(null, (ersteZahlRechner + zweiteZahlRechner)); } else if(input4.equals("subtrahieren")) { ... } else if(...) ...
Das letzte was mir noch spontan einfällt wäre eine Fehlerbehandlung falls man versucht soetwas wie "abd" als Zahl einzugeben. Da ich aber nicht weiß ob du dich mit Fehlerbehandlung schon auseinander gesetzt hast, lass ich das. Wenn du dazu ein Beispiel haben willst sag bescheid.
Eine kleinigkeit habe ich aber noch. Gewöhn dir am besten englische Variablen-Namen an. Das ist so der de facto Standard .
|
|
|
10/17/2015, 14:12
|
#5
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,544
Received Thanks: 1,424
|
Ich hatte jetzt bei meinen beiden Verbesserungsvorschlägen deinen unveränderten Code als Grundlage genommen, deshalb fehlt die erste Verbesserung im zweiten Code. Weil ihr es scheinbar beide nicht gesehen habt, schreibe ich es hier noch einmal.
Wie ich bereits oben gesagt habe:
Code:
if (input4.equalsIgnoreCase("addieren"))
Dann ist es vollkommen egal wie das geschrieben wurde.
Addieren -> true
addieren -> true
AdDiErEn -> true
aDdIeReN -> true
Es hat den selben Effekt wie das von Mysthik (siehe nächsten Code), ist allerdings kürzer.
Code:
input4 = input4.toLowerCase();
if (input4.equals("addieren"))
Für " addieren " (Leerzeichen vorne/hinten) müssten man es noch trimmen.
Code:
input4 = input4.trim();
if (input4.equalsIgnoreCase("addieren"))
|
|
|
10/17/2015, 15:32
|
#6
|
elite*gold: 0
Join Date: Oct 2015
Posts: 44
Received Thanks: 8
|
Okay Vielen Dank, für die schnelle Hilfe.
#Vote4Close
|
|
|
|
Similar Threads
|
Mein erstes Programm mit AutoIt
06/13/2011 - AutoIt - 6 Replies
Hey leute,
Ich bin seit jetzt 5Monaten neben bei und sehr wenig an autoit dran.
Aber es kommen immer wider sprünge die mir sagen:
Wie cool were es bots zu schreiben.
Deswegen habe ich mich mit der hilfe von BlackHybrid.
Also hier mall der Code:
|
Mein erstes Programm^^
10/19/2010 - Off Topic - 16 Replies
Hi Leute
wusste nicht in welche sektion das gehört also habs hierhin geschrieben
Nun seit heute habe ich mich fürs programmieren interessiert und hab mir ein einsteiger tut auf youtube angeguckt
Dort konnt ich sehen was ich alles mit einem .TXT bzw .bat datei so machen kann
Und dann hab ich einfach mal ein "Programm" erstellt was 5 Befehle ausführen kann
Ich wollte eure meinung hören und Tipps was ich verbessern kann oder was für befehle ich einbauen könnte
also dann ma los wie...
|
Mein erstes Programm
03/07/2010 - AutoIt - 4 Replies
Also erstmal Hi an alle ich bin Miro (Miroslav)
Ich habe mir vorgenommen AutoIt zu lernen.
Und wollte mein erstes Programm schreiben hab mich schon bisschen Informiert und hättet ihr vielleicht eine Idee was für ein Programm ich als erstes schreiben könnte?
Und jetz kommt net mit ner einfachen MsgBox und diesem HelloWorld ;)
Freue mich über viele Antworten ;)
|
Mein erstes Programm mit VB
01/10/2010 - Off Topic - 16 Replies
So wir haben nun eine Homepage: www.Steffsoft.tk
Viel Spaß^^
|
All times are GMT +2. The time now is 02:23.
|
|