Parameterübergabe

Hallo,

es sollen mindesten 2 Parameter übergeben werden und beliebig viele eingelesen werden.

Habe bis jetzt das, allerdings komme ich nicht weiter

public class Rechner
{

    public static void main (String[] args) {

        if(args.length <= 3){

        }

        int[] numbers = new int[args.length];

        numbers[numbers.length - 1] = args[args.length - 1].charAt(0) == '+' ? 1 : -1;

        for(int i = 0; i < numbers.length - 1; ++i){

            numbers[i] = Integer.parseInt(args[i]);

        }

        System.out.println(sum(numbers));

    }

    public static int sum(int numbers[])
    {

        int operator = numbers[numbers.length - 1];

        int base = numbers[0];

        for (int i = 1; i < numbers.length - 1; ++i)
        {

            base += operator * numbers[i];

        }

        return base;

    }

}

Also üblicherweise müsste ich jemanden, der die Grundlagen ja beherrscht, jetzt keine Grundlagen erläutern…

Aber da ich gerade zwischen zwei Dota Runden bin und aus verschiedenen Gründen während einer Runde hier im Forum nicht aktiv sein darf, mache ich es dennoch.

  1. Bitte mache dir Gedanken, wie man das Programm in der Konsole aufruft.

… Rechnung 1 2 3 4 5 6 7

  1. Wenn ich das so mache, welche Werte hat dann „args“.

Die statische main Methode hat ja eine ganz besondere Rolle. Sie ist der Einsprungspunkt aus dem BS in dein Programm. ARGS könnte an einer bestimmten Stelle 1 2 3 4 5 6 7 enthalten. Das kann man mit einer einfachen debug sysout experimentell herausfinden.

  1. Wenn ich ein if habe mit einer leeren Anweisung… Macht diese If dann Sinn? Auch das könnte man experimentell herausfinden.

Diese Anweisung macht nix und ist natürlich so „falsch“. Oder zumindest nicht relevant.

  1. Was kommt den bei bei dem Programm raus, wenn man es aufruft?

Auch das könnte man experimentell herausfinden… Und das Ergebnis hier posten.

Einem fortgeschrittenen Entwickler würde ich dazu raten über die args zu iterieren und wenn da eine Zahl drin ist, dann diese zu parsen und dann in einer Variable zu addieren. Das Ergebnis dann ausgeben.

Wenn das richtige Ergebnis kommt, dann OK. In allen anderen Fällen bitte hier posten, welche Eingabe und welches Ergebnis erwartet wird und welches kommt stattdessen.