Wie kann man in Java von der Konsole einlesen?

Post Reply
Message
Author
Kondi

Wie kann man in Java von der Konsole einlesen?

#1 Post by Kondi »

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
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#2 Post by klopskuchen »

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
Posts: 1
Joined: 18. Nov 2005 22:00

#3 Post by Cap »

Hi!

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

Code: Select all

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: Select all

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: Select all


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

Post Reply