# datei auf konsole ausgeben



## tinella (31. August 2004)

hallo zusammen

ich hoffe ihr könnt mir helfen, wär' toll.
ich schreibe ein programm, welches sich auf der konsole starten lässt.
schlussendlich resultieren 2 outputfiles. wenn man sich im programm befindet, kann man *-h*  in die konsole eingeben und dann erscheint die hilfe mittels system.out.println.

- ich möcht aber nicht, dass man nur *-h* eingeben kann, sonder dass die hilfe auch mit *-help* und *-H* erscheint! wie mach' ich das? oder besser gesagt WO geb ich das an? und wie?

- wenn man in der console -s eingibt, soll ein file angezeigt werden das unter dem angegebenen pfan exisitiert. wie muss ich das richtig angeben, damit das auch erscheint in der console?

code der schlaufe:
public static void parseParams(){
		switch ([-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O]){
		case '-h': System.out.println(
		"Compare the ID's. \n"
		+ "COMPARATOR [-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O] \n "
		+ "-h     show help \n"
		+ "-p     show property-file \n"
		+ "-s     show helpset-file \n"
		+ "-o     show output-file");
		break;

	case 'p': System.out.println						(O:/Java/Comparator/Infos/CCContainer.properties);
	case 's': System.out.println						(O:/Java/Comparator/Infos/component.jhm);
	case 'o': System.out.println("Choose between -pf (= 				outputfile with missed ID's in PropertyFile) " +
		"and -hf (= outputfile with missed ID's in HelpsetFile)");
	case '-pf':System.out.println						(O:/Java/Comparator/Infos/missedPropertyID.txt);
	case '-hf':System.out.println						(O:/Java/Comparator/Infos/missedHelpsetID.txt);
		}



ich grüss euch!
tinella


----------



## Snape (1. September 2004)

Moin,
Dein Codeschnippsel da oben funktioniert Also ich meine die switch-Anweisung?


----------



## tinella (2. September 2004)

*@Snape*

nein, die funktioniert noch nicht, aber von der grundstruktur ist sie korrekt.
das einzige was noch nicht funktioiert, ist die fileausgabe, die parameter.

:-/


----------



## Romsl (2. September 2004)

Diese Bedingung bei einer Switch Anweisung hab ich noch nie gesehen. Sollte da nicht eine Variable stehen, nach der dann bei den Case Anweisungen untersucht wird? Du gibst ja keine Bedingung an, sondern glei den festen Inhalt.

Lass mich gerne eines besseren Belehren.

Gruß

Romsl


----------



## Snape (2. September 2004)

*Re: @Snape*



> _Original geschrieben von tinella _
> *nein, die funktioniert noch nicht, aber von der grundstruktur ist sie korrekt.
> das einzige was noch nicht funktioiert, ist die fileausgabe, die parameter.
> 
> :-/ *



Die switch-Anweisung funktioniert nur mit einfachen Datentypen. Du musst also eine "Hilfskonvertierung" vornehmen, a la


```
int key = 0;

if (myParameter instanceof String)
{
  if ( (String)myParameter.equalsIgnoreCase("h")
    ||  (String)myParameter.equalsIgnoreCase("help"))
     key = 1;
  if ( (String)myParameter.equalsIgnoreCase("p") )
     key = 2;
  if ( (String)myParameter.equalsIgnoreCase("s") )
     key = 3;
  if ( (String)myParameter.equalsIgnoreCase("o") )
     key = 4;

  switch ( key )
   {
     case 1: // tu was
                    break;
     case 2: // tu was
                    break;
     case 3: // tu was
                    break;
     case 4: // tu was
                    break;
     default: // tu was
                    break;
   }
}
```
Allerdings wäre der switch-Block in diesem Beispiel ziemlich überflüssig, die Aktionen könnten direkt innerhalb der if-Blöcke ausgeführt oder aufgerufen werden.


----------



## tinella (2. September 2004)

hey dankeachön!

kannst mir evt sagen, was ich statt myParameter hinsetzen soll? 
das hier: ([-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O]) ?


seh' ich das richtig, dass der code danach so aussehen soll...

int key = 0;

if ([-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O])  instanceof String)
{
  if ( (String)[-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O].equalsIgnoreCase("h")
    ||  (String)[-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O].equalsIgnoreCase("help"))
     System.out.println("zeige hilfe an");
  if ( (String)[-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O].equalsIgnoreCase("p") )
     System.out.println("zeige file 1 an");
  if ( (String)[-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O].equalsIgnoreCase("s") )
     System.out.println("zeige file 2 an");
  if ( (String)[-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O].equalsIgnoreCase("o") )
     System.out.println("zeige file 3 an");


----------



## Snape (2. September 2004)

_Original geschrieben von tinella _
>hey dankeachön!

>kannst mir evt sagen, was ich statt myParameter hinsetzen soll? 
>das hier: ([-h] [-H] [-help] [-p] [-P] [-s] [-S] [-o] [-O]) ?

Nein. In myParameter steckt der eingelesene String. Dieses h/-h o.ä. liest Du doch irgendwo ein. System.in oder wie auch immer.

>seh' ich das richtig, dass der code danach so aussehen soll...

Auch nicht, sondern so wie ich oben gepostet habe.


----------

