Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Diktator

Senior Schreiberling

  • "Diktator" is male
  • "Diktator" started this thread

Posts: 605

Date of registration: Feb 12th 2002

Location: Region Hannover

Occupation: Gartenbau

1

Thursday, April 25th 2002, 1:19pm

Java: Aufgabe 0

weiss jemand wie man die dem java kompiler zu übergebenden parameter in die main methode einfügt?
also in:
...main( String[] arguments ) ...
oder kommen die nicht in die main methode. irgendwie klappt das bei mir nicht. obwohl thomas b. in seinem skript schreibt, dass man dort (irgendwie) parameter übergeben kann, die der java compiler mit auswertet. oder kappier ich da wieder was falsch?
hmm? :P
Diktator
Holzhacken ist deshalb so beliebt, weil man bei dieser Tätigkeit den Erfolg sofort sieht. - Albert Einstein

cowhen

Muuuh!

  • "cowhen" is male

Posts: 1,374

Date of registration: Dec 13th 2001

2

Thursday, April 25th 2002, 2:00pm

eigentlich schon ok so...

Source code

1
2
3
4
5
6
public class 
{
	public static void main (String args[])
	{
	}
}


wenn du die main-methode so deklarierst (s.o.), dann hast du ein array mit dem namen args, dass alle übergeben parameter als strings enthält. du musst halt beim zugriff auf die parameter daran denken, dass es ein array ist. also der ersten parameter heisst args[0] , der zweite args[1] usw...


hth

cowhen
plenty of time to relax when you are dead

MAX

Senior Schreiberling

  • "MAX" is male

Posts: 822

Date of registration: Dec 11th 2001

Location: Hannover

3

Thursday, April 25th 2002, 2:27pm

Ja

Wenn du der main Methode irgendwelche Parameter übergeben willst, muss du das aus der DOS .bzw. Shell Box machen.
Du compilierst mit javac oder mit joe dein Programm und rufst aus der Dos Box nzw Shell mit "java programname parameter" dein Programm auf. Somit erhält das Array args deine Parameter. Darauf greifst du über ein Index zu.
Bsp: Du hast eine Klasse Diktator, wo deine main Methode drinsteht und möchtest cowhen und max übergeben, dann rufst du aus der DOS Box (Shell) das auf:
$java Diktator cowhen max
Dann werden die Parameter cowhen und max an die main Methode übergeben und im array arguments gespeichert.
arguments[0] = cowhen /*keine Zuweisung, sondern BSP.*/
arguments[1] = max

so far
mfg
MAX

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

4

Thursday, April 25th 2002, 3:18pm

Quoted

Original von cowhen
public static void main (String args[])


Meines Wissens ist es korrekter,
ein String-Array mit String[] a zu deklarieren, auch wenn es auch so zu gehen scheint, wie du oben schriebst.

Siehe auch Abschnitt 10 (PDF-Version) Seite 210) der Java Language Specification.

( Erbsen zähl... ;) )
tar: Anlegen eines leeren Archivs wird feige verweigert.

Diktator

Senior Schreiberling

  • "Diktator" is male
  • "Diktator" started this thread

Posts: 605

Date of registration: Feb 12th 2002

Location: Region Hannover

Occupation: Gartenbau

5

Thursday, April 25th 2002, 5:37pm

@ alle, die geantwortet haben

danke. für die tips. kann man die parameter, die im array der main-methode sind, also String[] args (oder halt a statt args), nicht in den quelltext schreiben. wen dem nicht so ist, muss man ja das prog in der shell/dosbox aufrufen. das ist ja höchst unkomfortabel. da lag wohl mein fehler drin.
Diktator
Holzhacken ist deshalb so beliebt, weil man bei dieser Tätigkeit den Erfolg sofort sieht. - Albert Einstein

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

6

Thursday, April 25th 2002, 5:56pm

Quoted

Original von Diktator
kann man die parameter, die im array der main-methode sind, also String[] args (oder halt a statt args), nicht in den quelltext schreiben.
Man kann dafür aber anderen Arrays direkt Werte zuweisen. Ein Beispiel:

Source code

1
String[] abc = {"a", "b", "c"};


Quoted

wen dem nicht so ist, muss man ja das prog in der shell/dosbox aufrufen. das ist ja höchst unkomfortabel.
Genau das ist aber der Sinn von Parametern. Sonst müßte man das Programm ja jedes Mal neu kompilieren, um auf unterscheidliche Eingaben reagieren zu können.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Diktator

Senior Schreiberling

  • "Diktator" is male
  • "Diktator" started this thread

Posts: 605

Date of registration: Feb 12th 2002

Location: Region Hannover

Occupation: Gartenbau

7

Thursday, April 25th 2002, 6:05pm

trotzdem

trotzdem bin ich wohl zu dumm. wäre nett wenn jemand den fehler finden würde.

public
class Echo
{
static
public
void
main
(
String[] args
)
{

int x = parseInt(String args[0]);
System.out.println(args[x]);

}
}

vielen dank. ?(
Diktator
Holzhacken ist deshalb so beliebt, weil man bei dieser Tätigkeit den Erfolg sofort sieht. - Albert Einstein

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

8

Thursday, April 25th 2002, 6:22pm

Quoted

Original von Diktator
trotzdem bin ich wohl zu dumm. wäre nett wenn jemand den fehler finden würde.
Die Fehlermeldung sagt doch schon alles. Die solltest du aber auch lesen.

Source code

1
2
3
4
5
Echo.java:13: cannot resolve symbol
symbol  : variable String
location: class Echo
int x = parseInt(String args[0]);
                 ^


Der Compiler kann also das Symbol "String" nicht zuordnen. Kein Wunder, denn du deklarierst an der angegebenen Stelle eine Variable anstatt parseInt deren Wert zu übergeben. Also "String" weglassen... Nach dieser Änderung wird der Compiler zwar wieder meckern, aber da hilft dir ein Blick in die API-Dokumentation weiter (Wozu gehört parseInt?).
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Diktator

Senior Schreiberling

  • "Diktator" is male
  • "Diktator" started this thread

Posts: 605

Date of registration: Feb 12th 2002

Location: Region Hannover

Occupation: Gartenbau

9

Thursday, April 25th 2002, 6:38pm

thx

it works. ich könnt mich heut nur noch schlagen. geht es euch auch manchmal so?
:P
Diktator
Holzhacken ist deshalb so beliebt, weil man bei dieser Tätigkeit den Erfolg sofort sieht. - Albert Einstein

MAX

Senior Schreiberling

  • "MAX" is male

Posts: 822

Date of registration: Dec 11th 2001

Location: Hannover

10

Friday, April 26th 2002, 12:02am

ja

ich konnte mich den ganzen Tag wegen Anal(ysis) schlagen. So eon Mist!!! Aber jetzt hab ich es (glaube ich).
mfg
MAX