Archiv verlassen und diese Seite im Standarddesign anzeigen : Totale Noobfrage zu Variablen (Java)
Hey,
hab ein paar Monate nix mehr mit Java gemacht (hab davor auch nur 1-2 Wochen damit begonnen und es nicht wirklich weiterverfolgt), aber mich machts grade fertig dass ich sowas simples vergessen hab (hab leider grad 0 Unterlagen da, würde die Antwort sonst wohl direkt im ersten Kapitel finden :D
Zur Frage: Ich hab ein paar im code festdefiniterte Variablen wie zahla, zahlb usw... sum = a + b + c; nun will ich, dass zahlc allerdings nicht definiert ist und per Aufruf (java Summeplus 5 z.B.) festlegbar ist (in dem Fall zahlc = 5; ).
Wie stell ich das nochmal am geschicktesten an?
Banale Frage, aber hab wie gesagt grad mein Zeug zum nachlesen nicht da.
Würd mich aber trotzdem über eine Antwort freuen :)
zahlc = args[0]
oder was?
maxpayne80
19.10.2011, 00:27
sowas? oder wie meinst? ^^
int a = 2;
int b = 3;
int c = sum(a, b);
die Methode (hier mal eine Klasseninterne)
private int sum (int wertA, int wertB){
return wertA + wertB;
}
int sum;
int a = 2;
int b = 3;
int c = X;
sum = a + b + c;
Sum wird dann als System.out.println(sum); ausgegeben....
Aber C soll eben per start line beeinflussbar sein.... also java blabla 5 (dann soll c gleich 5 sein).
So meint ich
maxpayne80
19.10.2011, 00:34
dann siehe post von powerfx (http://www.computerbase.de/forum/member.php?u=451522)
da greifst du auf den ersten parameter zu, der in der commandline beim start übergeben wird...
e-Laurin
19.10.2011, 00:34
public void main(String args[]) { ...
args[] auswerten. Da steht drin, was du beim Programmstart per Parameter angegeben hast.
das hat powerfx schon geschrieben. allerdings bin ich mir gerade unsicher, ob es nicht argv[1] sein müsste -> einfach testen!
vorraussetzen muss man aber, dass du main mit static void main(String[] arv) deklarierst!
[...]allerdings bin ich mir gerade unsicher, ob es nicht argv[1] sein müsste -> einfach testen!
Ich glaube, das wäre C.
zahlc = args[0]
oder was?
zahlc = Integer.parseInt(args[0]);
Würde ich sagen, falls zahlc ein Integer ist.
P.S.
So ne schlimme Frage ist das gar nicht. Viele arbeiten bspw. mit Eclipse und machen sich keine Gedanken darum, was der Methodenkopf der main überhaupt bedeutet.
zahlc = args[0] hat nicht compiled ^^
Teste die andern Vorschläge dann morgen, ich hau mich erstmal hin.
Danke schonmal an alle!
e-Laurin
19.10.2011, 01:12
Lass das Projekt erst einmal sein und beschäftige dich mit den Grundlagen.
zahlc = args[0] hat nicht compiledbedeutet nur, dass du von uns die vollständige Lösung haben willst. Warum das nicht geht, ist Urschleim und den will dir hier keiner erklären.
Jo morgen hab ich wieder Access zu den Büchern usw... ist np, dann guck ich selber nach.
Dachte nur schnell dass jemand kurz so nett wäre :o
args[0] ist ein String. Willst du das als anderen Datentyp haben, muss es geparsed werden.
Dafür benötigt man kein Buch. Die Lösung ist mit Sicherheit unter den ersten drei Google-Ergebnissen vorhanden.
GuaRdiaN
19.10.2011, 02:23
Das Ganze einfach in test.java einfügen, und dann sollte sich ergeben, wie das Laden läuft. :)
class test{
public static void main (String[] args){
int a = 1;
int b = 2;
int c = 4;
int sum = a + b + c + Integer.parseInt(args[0]);
System.out.println("Das Ergebnis lautet: "+sum);
}
}
zahlc = Integer.parseInt(args[0]);
Würde ich sagen, falls zahlc ein Integer ist.
P.S.
So ne schlimme Frage ist das gar nicht. Viele arbeiten bspw. mit Eclipse und machen sich keine Gedanken darum, was der Methodenkopf der main überhaupt bedeutet.
wurde auch schon genannt.
Aber was heißt es wurde nicht compiled? Gibts auch ne Fehlermeldung dazu? Oder hatte der Compiler einfach keine lust? :p