Wie kann man in Java von der Konsole einlesen?

Antworten
Nachricht
Autor
Kondi

Wie kann man in Java von der Konsole einlesen?

#1 Beitrag von Kondi » 30. Okt 2005 13:41

In C gibt es scanf(), in C++ gibt es cin und in C# Console.ReadLine().

Irgendjemand hatte mir jedoch auch mal ein Beispielprogramm gezeigt, bei dem in Java etwas über die Kommandozeile abgefragt und eingegeben wurde.
Zum Beispiel nach dem Namen gefragt wird und dann "Hallo "+name ausgegeben wird.

Jedoch ist mir das Programm leider abhanden gekommen. Ich glaube es wurde mit try und catch realisiert.

Kan zufällug jemand hier ein kleines Beispielprogramm demonstrieren, das über die Konsole etwas abfragt?

klopskuchen
prolinux-forum-admin
Beiträge: 1444
Registriert: 26. Jun 2004 21:18
Kontaktdaten:

#2 Beitrag von klopskuchen » 30. Okt 2005 13:47

Hallo Kondi,

ich nix Java aber wenigstens ein Link: http://www.ibiblio.org/javafaq/javafaq.html#xtocid75724 .

MfG, Klopskuchen
When all else fails, read the instructions .

Cap
Beiträge: 1
Registriert: 18. Nov 2005 22:00

#3 Beitrag von Cap » 18. Nov 2005 22:02

Hi!

die antwort is wahrscheinlich a bisserl spät, aber immerhin:
da gibt's in java 2 möglichkeiten:

Code: Alles auswählen

String in = args[0];
falls du damit zahlen (int's, doubles etc) einlesen willst, musst du die allerdings erst parsen, und daraus folgt, dass du hier ne fehlerbehandlung, also exceptions, brauchst.

dann könntest du zb sowas machen wie


Code: Alles auswählen

int a = (Integer) args[0]; //ganz böse, weil so'n typecast wie hier über kurz oder lang ne zeitbombe is
bischen sicherer kannst casts generell machen, indem du mit instanceof fragst, ob's zb int's sind. nur geht des hier glaub i net...

2. möglichkeit wäre sowas wie

Code: Alles auswählen


import java.io.*;

class bla
{
    public static void main(String... args) throws IOException
    {
    	Reader reader = new InputStreamReader(System.in);
    	BufferedReader input = new BufferedReader(reader);
	for(String line = input.readLine(); line != null; line = input.readLine())
	{
	    // mach was sinnvolles oder auch nich damit :-)
	}
    }
}
bei fragen: cap_is_@gmx.de

Antworten