Ich sitze schon seit Stunden an diesem Problem und komme einfach nicht weiter. Ich möchte von einer Zahl die Ziffern zurückgeben, die sich zwischen zwei Bounds befinden:
private static int getMid(int num, int i, int j) {
if (j - i <= 1) {
return 0;
}
int n = (int) Math.log10(num) + 1;
return num % (int) Math.pow(10, n - i - 1) / (int) Math.pow(10, n - (j - i));
}
public static void main(String[] args) {
System.out.println(getMid(123456, 0, 5)); // prints 2345
System.out.println(getMid(123456, 0, 3)); // prints 23
System.out.println(getMid(123456, 1, 4)); // prints 3
}
Als dritte Ausgabe erwarte ich 34, es kommt aber 3 zurück.
Btw. String
darf nicht eigesetzt werden.