Der Computer müsste doch rechnen:
a= 7, b = 14;
beides positiv also bleibt abs() erstmal wirkungslos
d = 10-7 = 3
c = 10-14 = - 4, dann greift abs(- 4) => 4
dann ist c>d, weil 4>3: dann muss es doch a = 7 ausgeben?
Und warum funktioniert es auch mit a=14 und b=7 nicht?
package de.codegym.task.task04.task0409;
/*
Am nächsten an 10
*/
public class Solution {
public static void main(String[] args) {
naechsteAnZehnAnzeigen(8, 11);
naechsteAnZehnAnzeigen(7, 14);
naechsteAnZehnAnzeigen(14, 7);
naechsteAnZehnAnzeigen(-2,8);
naechsteAnZehnAnzeigen(11, 8);
naechsteAnZehnAnzeigen(-8,-11);
}
public static void naechsteAnZehnAnzeigen(int a, int b) {
abs(a);
abs(b);
int d = 10-a;
abs(d);
int c = 10-b;
abs(c);
if(d<c)
System.out.println("Die Nummer " + a + " ist die der Zehn nächste Zahl.");
else if (d>c)
System.out.println("Die Nummer " + b + " ist die der Zehn nächste Zahl.");
else
System.out.println("Die Nummer " + a + " ist die der Zehn nächste Zahl.");// schreib hier deinen Code
}
public static int abs(int a) {
if (a < 0) {
return -a;
} else {
return a;
}
}
}