Kommandozeilenparameter wahlweise als String oder Integer

DonnyDarko

Newbie
Registriert
Juli 2017
Beiträge
4
Hallo, bin noch relativ neu beim Programmieren dabei.
Ich wollte ein Programm schreiben, wo ich als Kommandozeilenparameter wahlweise eine Int-Variable oder ein String in der Konsole einfügen kann. Dabei soll das Programm was ausrechnen, sollte ich jedoch "help" als Kommandozeilenparameter eingeben, sollte das Programm dabei ein Text ausgeben. Da der Kommandozeilenparameter nur eine Integer oder String Datei ist, weiss ich nicht, wie ich das umwandeln kann. Ich weiss zwar, dass man mit valueOf einen Int-Wert in einen String-Wert umwandeln kann, allerdings bin ich mir gar nicht sicher, ob das hierbei überhaupt funktioniert, zumal die Konsole immer davor schon die Fehlermeldung: error: incompatible types: int cannot be converted to String - ausgibt.
Bsp:

class test {
public static void main(String[] args) {
int zahl = Integer.parseInt(args[0]);

switch (zahl) {
case 1:
System.out.println("1");
break;

case 2:
System.out.println("2");
break;

case "help": //was muss ich machen, damit auch diese Option funktioniert?
System.out.println("Hilfstext....");
break;
 
Da gibts viele Möglichkeiten. Vielleicht so, erscheint mir am einfachsten:

Code:
if (args[0].equalsIgnoreCase("help") == true)
{
    System.out.println("Hilfstext....");
}
else
{
   int zahl = Integer.parseInt(args[0]);

   switch (zahl) {
   case 1:
   System.out.println("1");
   break;

   case 2:
   System.out.println("2");
   break;
}
 
Zuletzt bearbeitet:
Du solltest im Betreff deiner Frage die Programmiersprache erwähnen [Java], dann muss man nicht raten. Dann code tags beim Posten von Code benutzen, dann kann man das besser lesen. In deinem Fall musst du aber gar nichts umwandeln, da die Commandlineparameter alle Strings sind, kannst du die als Strings in der Switchanweisung benutzen.
Code:
switch (args[0]) {
  case "1":
     ...
    break;
  case "2":
     ... 
    break;
  case "help":
     ...
    break;
  default: 
    System.out.println("Nanu?");
    break;
}
 

Ähnliche Themen

Antworten
19
Aufrufe
2.035
K
Antworten
13
Aufrufe
3.223
K
Antworten
18
Aufrufe
2.077
R
Zurück
Oben