Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hey,
Ich habe eine Aufgabe bei der ich leider nicht weiterkomme.
Ich soll das Programm so gestalten, dass entweder ein oder zwei Eingaben gemacht werden können.
Wie ist das möglich?
Hier nochmal die Aufgabe falls ich es nicht gut erklärt habe: Implementieren Sie eine main-Methode, die entweder eine Zahl n oder zwei ganze Zahlen n und m von der Kommandozeile ubernimmt. ¨ Werden auf der Kommandozeile weniger als eine oder mehr als zwei Zahlen angegeben, wird eine Fehlermeldung ausgegeben und die Applikation beendet. Sind n oder m keine positiven ganzen Zahlen oder gilt n gr¨oßer m, wird eine Fehlermeldung ausgegeben und die Applikation beendet.
Vermutlich sind hier Kommandozeilenargumente gemeint, mit denen deine Anwendung aufgerufen wird, also als java -jar deineAnwendung.jar 1 2.
Also keine interaktive Eingabe zur Laufzeit deiner Anwendung.
Diese Argumente sind im String[]-Array der main-Methode abrufbar.
Danke für eure Hilfe, ich habe es damit bereits versucht. Wie ist es möglich dass man dort dann 1 Wert und auch 2 Werte eingeben kann.
Wenn ich z.B. nur ein Wert ein Wert angebe kommt der Error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at Testat06.main(Testat06.java:43)
Dann ist dein Kommandozeilenaufruf des Programms noch nicht korrekt. Es bekommt aktuell noch keine Kommandozeilenargumente.
Wie _genau_ rufst du dein Java-Programm auf?
Der aktuelle Code wäre auch ganz hilfreich. Ansonsten findet sich in der pdf von Goalkicker.com etwas zum Thema:
Java:
public class Main {
public static void main(String[] args) {
if (args.length != 2) {
System.err.println("usage: Main <arg1> <arg2>");
System.exit(1);
}
// Run the application
System.out.println("Eingabe: " + args[0] + ", " + args[1]);
}
}
[CODE lang="java" title="Parameter Comandline"]public class TestInput {
public static void main(String[] args) {
if (args.length < 1 || args.length > 2) {
System.out.println("Es sind nur 1 oder 2 Parameter erlaubt!");
System.exit(1);
}
if (!checkInterger(args)) {
System.out.println("Es sind nur ganze Zahlen als Parameter erlaubt!");
System.exit(1);
}
printParam(args);
}
private static boolean checkInterger(String[] param) {
for (String p : param) {
if (!isInteger(p))
return false;
}
return true;
}