Java:
public static void main(String[] args) {
System.out.println(gcd(1052, 52)); // 1. Warum wird gcd hier rot unterkringelt und Methode kann in der main nicht ausgeführt werden?
}
// Fehlermeldung: Cannot make a static reference to the non-static method gcd(int, int) from the type Math
@Override
public int gcd(int a, int b) throws IllegalArgumentException {
if(a == 0 && b == 0) {
throw new IllegalArgumentException();
}
return gcd(b, a % b); // 2. Was bewirkt diese Zeile? Wenn b =16 ist und a = 4, wäre 4%16 = 0,25 und 16(b)*0,25 = 4 (gcd)
} // jedoch wird mit b mit a%b doch nicht durch diese Zeile mal genommen?
Java:
public int square(int x) throws IllegalArgumentException {
if ((int) Math.pow(x, 2) > Integer.MAX_VALUE) { // Warum wird ".pow"
throw new IllegalArgumentException();
}
return (int) Math.pow(x, 2); // rot unterkringelt?
}
Java:
public int sqrt(int x) throws IllegalArgumentException {
if(x < 0) {
throw new IllegalArgumentException();
}
return Math.sqrt(x);
}
Zuletzt bearbeitet: