Apakah pembahagian integer di Jawa?
Pembahagian di Jawa berlaku secara normal seperti pembahagian biasa dalam matematik atau kehidupan sebenar. Walau bagaimanapun, ia hanya membuang bakinya. Sebagai contoh, jika anda membahagi 9 dengan 2 hasil bagi ialah 4 dan bakinya ialah 1. Dalam kehidupan sebenar, jawapannya ialah 4.5 atau 4½. Jika anda melakukan pengiraan yang sama dengan int dalam Java, jawapan anda ialah 4. Ia tidak dibundarkan kepada integer terdekat (seperti ~4.5 = 5) 1 kerana bakinya dibuang.Contoh 1 [ Baki ialah 0 ]
Pembahagian integer di Java berfungsi dengan sempurna untuk semua kes di mana pembahagi membahagi sepenuhnya dividen ( integer dibahagikan dengan x integer). Jawapannya ialah nombor bulat dan jenis data integer boleh menahannya tanpa limpahan. Oleh itu tiada kehilangan data. Sebagai contoh, lihat coretan berikut.
public class IntegerDivision {
public static void main(String[] args) {
int dividend = 100;
int divisor = 5;
int quotient = dividend / divisor;
//Dividend completely divides the divisor
System.out.println(dividend + " / " + divisor + " = " + quotient);
dividend = 143;
divisor = 11;
quotient = dividend / divisor;
//Dividend completely divides the divisor
System.out.println(dividend + " / " + divisor + " = " + quotient);
}
}
Pengeluaran
100 / 5 = 20 143 / 11 = 13
Contoh 2 [ Baki bukan 0 ]
Untuk semua kes pembahagian yang bakinya bukan 0, keputusan akhir akan dipotong kepada integer boleh bahagi terbesar (9/2 = 4). Ini akan dipamerkan dalam contoh yang akan datang. Mungkin ada kalanya anda memerlukan hasil bagi sebenar dalam perpuluhan. Untuk kes itu, anda boleh menggunakan jenis data apungan atau berganda. Walau bagaimanapun, jika anda ingin membulatkan hasil bagi kepada int terdekat anda boleh melakukan perkara berikut.
public class IntegerDivision {
public static void main(String[] args) {
int dividend = 9;
int divisor = 2;
int quotient = dividend / divisor;
// Case I - Dividend does not divide the divisor completely
// The quotient is chopped / truncated
System.out.print("Integer division \t\t" );
System.out.println(dividend + " / " + divisor + " = " + quotient);
// Case II - Mathematical or real life division
// Use float or double data type to get the actual quotient
double actualQuotient = (double)dividend / divisor;
System.out.print("Mathematics division \t\t" );
System.out.println((double)dividend + " / " + divisor + " = " + actualQuotient);
// Case III - Integer Division with rounding off
// the quotient to the closest integer
long roundedQuotient = Math.round((double)dividend / divisor);
System.out.print("Round off int division \t\t" );
System.out.println((double)dividend + " / " + divisor + " = " + roundedQuotient);
}
}
Pengeluaran
Pembahagian integer 9 / 2 = 4 Pembahagian matematik 9.0 / 2 = 4.5 Bundarkan pembahagian int 9.0 / 2 = 5
Penjelasan
Kes I dan Kes II adalah jelas. Untuk Kes III, anda boleh memecahkannya dalam langkah berikut.-
Pertama, anda perlu menukar dividen kepada dua kali ganda.
-
Lakukan pembahagian int Java biasa.
-
Bundarkan hasil bagi menggunakan kaedah Math.round() .
-
Gunakan jenis data panjang untuk menyimpan hasil bagi bulat.
-
Itupun dia! Anda mempunyai output yang anda inginkan sebagai hasil bagi.
GO TO FULL VERSION