Hilfe bei meinen Uni aufgaben gesucht :)

Super, dass ist schon mal richtig. du könntest alle drei Werte summieren und dann min und max abziehen. Ist spät, aber sollte klappen.

*** Edit ***
@Marcinek
Fertige Lösung abkupfern gibt sicher auch Punktabzüge :wink:
Meinst nicht?

Mit den Einschränkungen würde mir hier keine sinvolle andere Lösung einfallen :wink:

Und ob man nun das Forum befragt oder google ist erstmal beides nicht im Sinne der Erfindung, wenn es um Hausaufgaben geht.

Ui Danke Maricinek… gerade auch gefunden…Danke

Das ganze ist recht tricky, wenn man if und else nicht verwenden darf.

Kennst du das Tauschen von zwei Variablen ohne Temporäre Variable.

b = 10```

rauskommen soll danach

```a = 10 
b = 5```

das funktioniert so.

a = b + a //10 + 5 = 15
b = a - b //15 - 10 = 5
a = a - b //15 - 5 = 10```

Deine Aufgabe funktioniert so ähnlich, von der Denkweise her.

Du hast ja bereits erfolgreich das Minimum bestimmt und das Maximum.

Jetzt geht es darum die Mitte herauszubekommen.

Also erstellst du erstmal drei weitere Variablen

int x1, x2, x3:```

Damit Vergleichst du alle Kombinationen untereinander und speicherst dort das minimum
```x1 = Math.min(a,b);
x2 = Math.min(a,c);
x3 = Math.min(b,c);

In Zwei der Variablen befindet sich nun das globale Minimum der Drei zahlen und in einer der Mittlere Wert.

Also addierst du die Drei Werte und ziehst zweimal das Minimum ab.
int middle = x1+x2+x3 - (2 * min);

Tricky, heh?

Das ganze nun in dein Programm einzubauen, traue ich dir selbst zu.

Edit:
Zuspät: Ok, alles aufsummieren und dann min und max abziehen ist etwas praktischer.

Ich hoffe du meinst damit, du hättest es genau so gemacht und nicht deine Lösung wäre GOOGLE - aber davon gehe ich aus. So lange man im Forum dazu angetrieben wird, sich selber Gedanken zu machen, keine fertigen Lösungen erwartet und gegebenenfalls auch noch mal nachfragt warum und wieso, finde ich es in Ordnung. Wichtig ist nur, dass man am Ende versteht was man abgibt.

[QUOTE=Annefranz]@iKnwWhtUDidLast ja ich studiere eigentlich was anderes, habe vorher noch nie programmiert und die Vorlesung ist auf Islaendisch (Uni Island). Bin gerade im Mutterschutz zu hause und dachte ich nutze die Zeit programmieren zu lernen. Dh. ich komme nicht immer in die Vorlesungen, nutze eben das Kursbuch die islaendische power point Preaesentationen und versuche das zu verstehen so gut es geht. Danke fuer die Tips, werde mir die Buecher zu gemuete fuehren. Auf deutsch das waere ja mal was anderes :wink: @Paddelpirat vielen dank. Man muss sich das vermutlich vorstellen wie 1 mio teile puzzel oder so…am besten faengt man erstmal an die Ranstuecke raus zu suchen… schrittchen fuer schrittchen.

*** Edit ***

So, meine lieben: Inzwischen habe ich diese Aufgabe halbwegs bewaeltigt und stecke an der 3. fest:

Write a program that takes three positive integers as command-line arguments and prints true if any one of them is greater than or equal to the sum of the other two and false otherwise (Note: This computation tests whether the three numbers could be the lengths of the sides of some triangle.)

Habe dann mal lustig drauf los programmiert und hatte mir die lösung ungefaehr so vorgestellt:

public class Triangle {
public static void main(String[] args){
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = Integer.parseInt(args[2]);
boolean Triangle;
Triangle = (a = (b+c));
isTriangle = isTriangle || (a > (b+c));
isTriangle = isTriangle || (b = (a+c));
isTriangle = isTriangle || (b > (a+c));
isTriangle = isTriangle || (c = (a+b));
isTriangle = isTriangle || (c > (a+b));
System.out.println(isTriangle);
}
}

Tja war wohl nichts denn jetzt kommt anstelle von dem gewuenschten schon beim compilen (javac Triangle.java):
C:\Test>javac Triangle.java
Triangle.java:7: error: incompatible types
Triangle = (a = (b+c));
^
required: boolean
found: int
Triangle.java:8: error: cannot find symbol
isTriangle = isTriangle || (a > (b+c));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:8: error: cannot find symbol
isTriangle = isTriangle || (a > (b+c));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:9: error: cannot find symbol
isTriangle = isTriangle || (b = (a+c));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:9: error: cannot find symbol
isTriangle = isTriangle || (b = (a+c));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:10: error: cannot find symbol
isTriangle = isTriangle || (b > (a+c));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:10: error: cannot find symbol
isTriangle = isTriangle || (b > (a+c));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:11: error: cannot find symbol
isTriangle = isTriangle || (c = (a+b));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:11: error: cannot find symbol
isTriangle = isTriangle || (c = (a+b));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:12: error: cannot find symbol
isTriangle = isTriangle || (c > (a+b));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:12: error: cannot find symbol
isTriangle = isTriangle || (c > (a+b));
^
symbol: variable isTriangle
location: class Triangle
Triangle.java:13: error: cannot find symbol
System.out.println(isTriangle);
^
symbol: variable isTriangle
location: class Triangle
12 errors

Mist. Dachte ich haette das kapiert.[/QUOTE]

Nimm dir bitte mal einen Texteditor und schreibe:

Danach speichere unter „C:\Users\xxxx\Desktop\ErstesProgramm.java“ (die Datei muss so heißen wie die Klasse, Konvention: UpperCamelCase und lowerCamelCase).

Danach installiere das JDK (Compiler usw.): http://www.oracle.com/technetwork/java/javase/downloads/index.html und setze die Classpath variable ( http://docs.oracle.com/javase/tutorial/essential/environment/paths.html ):

Jetzt öffnest du cmd.exe und tippst ein:

http://docs.oracle.com/javase/6/docs/api/

Nun zu deinem Problem:

        int i1 = Integer.parseInt(args[0]), i2 = Integer.parseInt(args[1]), i3 = Integer.parseInt(args[2]);

        if (i1 >= i2 + i3) {
            System.out.println(true);
        } else if (i2 >= i1 + i3) {
            System.out.println(true);
        } else if (i3 >= i1 + i2) {
            System.out.println(true);
        } else {
            System.out.println(false);
        }

        // Alternative
        int[] intArray = {i1, i2, i3};
        java.util.Arrays.sort(intArray);
        System.out.println(intArray[0] + intArray[1] <= intArray[2]);
    }```

Diese "if-else if-else"-Konstrukte (Kaskaden) lassen sich auch weiter zusammenfassen, wenn du ||- (und &&-) Operatoren verwendest.

Grüßle

*** Edit ***

Ohne if-Abfrage/Bedingung schreibst du bitte:

```    public static void main(String[] args) {
        int i1 = Integer.parseInt(args[0]), i2 = Integer.parseInt(args[1]), i3 = Integer.parseInt(args[2]);

        boolean b = false;
        b = b || i1 + i2 <= i3;
        b = b || i1 + i3 <= i2;
        b = b || i2 + i3 <= i1;

        System.out.println(b);
    }```

Reihenfolge kann sich natrl. ändern.

Und jetzt Kopf anstrengen und vieles selbst ausprobieren und nachlesen.