Ich soll einen einfachen Taschenrechner implementieren, der add sub mul und div rechnen kann für ganzzahlen . Dabei soll ich dann im Konsolenfenste sowas schreiben können wie java SimpleCalculator 2 add 3 und dann sagt der mir halt das 5 rauskommt.
Warscheinlch ist mein Programm verusch total lächerlich und dämlich aber ich hab mich als totaler nullkönner halt mal Hingesetzt und versucht, dass was ich aus der Literatur lernen konnt um zusetzten. Allerdings kommen jetzt noch nen paar Fehlermeldungen. wäre super super nett, wenn ihr euch das mal anschauen könnten und mir sagen könntet, ob es denn so im großen und ganzen schon auf dem richtigen weg ist.
Code:
public class SimpleCalculator {
public static void main (String[] args) {
int x = new Integer (args[0].intValue());
int add = + Integer (args[1].intValue());
int y = new Integer (args[2].intValue());
i = x + y ;
int x = new Integer (args[0].intValue());
int sub = - Integer (args[1].intValue());
int y = new Integer (args[2].intValue());
i = x - y ;
int x = new Integer (args[0].intValue());
int mul = * Integer (args[1].intValue());
int y = new Integer (args[2].intValue());
i = x * y ;
int x = new Integer (args[0].intValue());
int div = / Integer (args[1].intValue());
int y = new Integer (args[2].intValue());
i = x / y ;
System.out.println(i)
}
}
@Joe: Der Weg stimmt? Das Ding lässt sich nicht mal kompilieren. Und wenn, hätte das Programm ziemlich wenig mit einen Taschenrechner gemein.
@svenja: du solltest dir die grundlagen noch mal angucken und mit einem ganz simplen programm starten. nicht mehr als 5 zeilen. Dafür sollte sich das ding aber kompilieren lassen und funktionieren. Was benutzt du denn als Lehrbuch?
benutze Grundkurs Programmieren in Java band 1
und Java Die Programmiersprache
Hab schon nen paar kleiner Programme geschrieben also halt halllo word und nen taschenrechner aber eben noch nix, wo man was im Konsolenfenster eingibt...
ahhh bin grad ziemlich am verweifeln...
aber wie kann ich denn dann dem tollen Prgramm sagen dass wenn ich add sage er auch addieren muss?? (wenn int flasch ist!)
super vielen dank, denn ich hab schon alles versucht um diese fehlermeldung weg zu bekommen, weil er hat biem kompilieren dann immer gesagt, dass es ungültige Befehle sind ( mul = *)
Also das ist shocn mal ein wahnsinnig große HIlfe!!!!
aber was heißt denn der satz: Von den args her kommt ein String-Array??
und muss ich das dann so wie ich alles einzeln aufzählen für add sub mul und div?? oder muss man dass zusammenfassen??
Ich danke euch soooooo sehr... vielen vielen vieln dank!!
ahhhh ok des hatte ich schon verstanden (zwar nicht in den worten aber vom sinn her*ggg*)
so jetzt zeig ich euch mal meine aktuelle version des Programms (hoffe es ist nciht schlimmer als vorher*ggg*)
Code:
public class SimpleCalculator {
public static void main (String[] args) {
int x = new Integer (args[0].intValue());
int y = new Integer (args[2].intValue());
if( args[1].equals("add") ){
i = x + y ;
}
int x = new Integer (args[0].intValue());
int y = new Integer (args[2].intValue());
if( args[1].equals("sub")){
i = x - y ;
}
int x = new Integer (args[0].intValue());
int y = new Integer (args[2].intValue());
if( args[1].equals("mul")){
i = x * y ;
}
int x = new Integer (args[0].intValue());
int y = new Integer (args[2].intValue());
if( args[1].equals("div")){
i = x / y ;
}
System.out.println(i)
}
}
aber komplilieren lässt sich das Programm immer noch nicht!!
dabei sieht das so schön viel und ordentlich aus*ggg*
das letzte versteh ich aber nicht nach dem EDIT:
Peinlich peinlich
so und jetzt hab ich noch eine grundsätzliche frage was ist ein double also ... falsch gefragt:
wieso soll ich Double.parseDouble() nehmen um den ersten und letzten Parameter in Gleitkommazahlen umzuwandeln ??? und wo schreib ich das dann hat?? statt Integer??
wenn die eingabe zb
java MyCalc hallo add 3
ist, dann gibt es ein Problem. Nämlich "hallo" in eine Zahl zu verwandeln. Geht halt nicht. dabei wird eine NumberFormatException geschmissen, welche man abfangen muss, mit try..catch()
ahhh ok.. daran hab ich noch gar nciht gedacht, aber ich glaube, ich gehe in der Aufgabe davon aus, dass nur Zahlen eigetipt werden und keine wörter (hoffe ich jetzt mal, bzw. ich geh davon aus!!)
und wie mach ich des jetzt mit diesem Double.parseDouble()?? schreib ich des statt Integer??
aber jetzt hab ich noch ein Problem: wo schreib ich des mit dem double hin???
Du weißt gar nciht wie dankebar ich dir bin!! Wenn du mir deine Adresse an xxxxxxxx.de schickst, dann schicke ich dir eine gaaaaaanz große Schachtel Pralinen nach hause!!!! EHRLICH!!!
ok mit den Pralinen wirds dann wohl wirklich nix aber vielen vielen dank!!
so jetzt hab ich was ganz tolles gemacht...
Mein tolles Programm kompiliert aber macht nix.. also ich gebe ein java SimpleCalculator 12 add 24
aber er gibt kein Ergebnis!!
mein Programm:
Code:
public class SimpleCalculator {
public static void main (String[] args) {
double x= Double.parseDouble (args[0]);
double y= Double.parseDouble (args[2]);
double i ;
if( args[1].equals("add")){
i = x + y ;
}
if( args[1].equals("sub")){
i = x - y ;
}
if( args[1].equals("mul")){
i = x * y ;
}
if( args[1].equals("div")){
i = x / y ;
System.out.println(i);
}
}
}
Das Problem ist, das die Variable i eventuell nicht initialisiert wird...zB durch einen Fehler im try Bolck oder wegen sonst irgendwas. Somit kann das System.out.println(i) nix mehr ausgeben und das führt zu einen Fehler. darum mit 0
initialisiert um sicher zu gehen, dass i einen Wert hat.
Vielen Vielen Dank.. ohne Dich hätte ich das NIEMlas hinbekommen und wäre verzweifelt!!
Ich bin grade dabei Java neu zu lernen, weil ich im Oktober angefangen hab Lehramt für Mathe und Informatik fürs Gymnasium zu studieren! allerdings Hab ich Informatik nur genommen weil ich nach zwei Jahren Physik Lk keine Lust mehr auf Physik hatte!!
naja und jetzt steh ich halt erst noch nen bisl vor dem großen Java Problem... aber so langsam wird das alles ein bisschen klarer für mich!!
also ich danke dir von ganzem Herzen!!
Und jetzt geh ich endlich ins bett :wink: und kann beruhigt schlafen