Robię bardzo proste dzielenie int i otrzymuję dziwne wyniki.Podziałka Java int mylące
ten kod drukuje 2
zgodnie z oczekiwaniami: Drukuje
public static void main(String[] args) {
int i = 200;
int hundNum = i/100;
System.out.println(hundNum);
}
Ten kod 1
jak nie spodziewanych:
public static void main(String[] args) {
int i = 0200;
int hundNum = i/100;
System.out.println(hundNum);
}
Co tu się dzieje?
(Windows XP Pro, Java 1.6 uruchomiony w Eclipse 3.4.1)
Wow, nie mogę uwierzyć, że nie wpadłem na to wcześniej. Czuję się jak idiota. Dzięki! – jjnguy
Spojrzałem na twój wynik powtórzeń i chociaż to musi być coś innego! – moogs
Jest to jedna z najbardziej irytujących cech języków opartych na języku C. Nigdy nie widziałem, żeby ktoś użył ósemkowej stałej celowo, ale widziałem, że powoduje ona wiele problemów. –