Artikel ini menjelaskan implementasi fungsi konverter biner yang kompleks di Java. Bagikan untuk referensi Anda, sebagai berikut:
Ini adalah konverter biner yang ditulis Java, termasuk 12 jenis konversi timbal balik antara 10, 2, 8 dan heksadesimal. Setelah memasukkan angka untuk dikonversi, pilih metode konversi yang ingin Anda gunakan sesuai dengan prompt dan output hasil konversi.
CATATAN: File yang baru diunggah telah ditingkatkan berdasarkan kode sebelumnya (3. Kode Java asli di bawah), yang dapat mengimplementasikan enkapsulasi dengan lebih baik.
1. SystemConvert.java
Paket Day8; Impor Java.util.Scanner; Public Class SystemConvert {Static Scanner Scanner = Pemindai Baru (System.in); string statis s = ""; // Tentukan metode desimal ke biner. string statis publik c10t2 (int numb) {string result = ""; untuk (int i = numb; i> 0; i /= 2) hasil = i % 2 + hasil; hasil pengembalian; } // Tentukan metode desimal ke oktal. string statis publik c10t8 (int numb) {string result = ""; untuk (int i = numb; i> 0; i /= 8) hasil = i % 8 + hasil; hasil pengembalian; } // Tentukan metode bin ke desimal. public static int c2t10 (int numb) {int k = 0, hasil = 0; // Hasil string = null; untuk (int i = numb; i> 0; i /= 10) {result += (i % 10) * math.pow (2, k); K ++; } hasil pengembalian; } // Tentukan metode oktal ke desimal. public static int c8t10 (int numb) {int k = 0, temp = 0; untuk (int i = numb; i> 0; i /= 10) {temp += (i % 10) * math.pow (8, k); K ++; } return temp; } public static void convert10 (int numb, int to) {string s = ""; switch (ke) {case 2: s = "" + c10t2 (numb); merusak; Kasus 8: S = "" + C10T8 (NUMB); merusak; Kasus 16: S = Integer.tohexstring (NUMB) .TUPPERCASE (); merusak; default: System.out.println ("Input yang salah!"); } System.out.println (s); } public static void convert2 (int numb, int to) {string s = ""; switch (ke) {case 10: s = "" + c2t10 (numb); merusak; Kasus 8: S = "" + C10T8 (C2T10 (NUMB)); merusak; Kasus 16: S = Integer.TohexString (C2T10 (NUMB)). Touppercase (); merusak; default: System.out.println ("Input yang salah!"); } System.out.println (s); } public static void convert8 (int numb, int to) {string s = ""; switch (ke) {case 2: s = "" + c10t2 (c8t10 (numb)); merusak; Kasus 10: s = "" + C8T10 (NUMB); merusak; Kasus 16: S = Integer.TohexString (C8T10 (NUMB)). Touppercase (); merusak; default: System.out.println ("Input yang salah!"); } System.out.println (s); } public static void convert16 (string numb, int to) {string s = ""; switch (ke) {case 2: int temp2 = integer.parseint (numb, 16); S = C10T2 (Temp2); merusak; Kasus 8: int temp3 = integer.parseint (Numb, 16); S = C10T8 (Temp3); merusak; Kasus 10: int temp = integer.parseint (Numb, 16); s = "" + temp; merusak; default: System.out.println ("Input yang salah!"); } System.out.println (s); } public static void convert (int numb, int from, int to) {switch (from) {case 10: convert10 (numb, to); merusak; Kasus 2: Convert2 (Numb, To); merusak; Kasus 8: Convert8 (Numb, To); merusak; default: System.out.println ("Input yang salah!"); }} public static void convert (string numb, int from, int to) {switch (from) {case 16: convert16 (numb, to); merusak; default: System.out.println ("Input yang salah!"); }} public static void main (string [] args) {System.out.println ("Apakah itu angka heksadesimal yang harus dikonversi? /n masukkan 1. Itu berarti ya; /n masukkan 2. Itu berarti tidak./n"); int input = scanner.nextInt (); switch (input) {case 1: System.out.println ("Harap masukkan nomor heksadesimal:"); String numb = scanner.next (); System.out.println ("Nomor biner apa yang dikonversi?"); int ke = scanner.nextInt (); konversi (mati rasa, 16, ke); merusak; Kasus 2: System.out.println ("Harap masukkan nomor heksadesimal:"); int numb2 = scanner.nextInt (); System.out.println ("Mulai dari nomor biner apa?"); int from = scanner.nextInt (); System.out.println ("Nomor biner apa yang dikonversi?"); int to2 = scanner.nextInt (); konversi (numb2, dari, to2); merusak; default: System.out.println ("Input yang salah!"); }}}2. Tangkapan layar dari efek berjalan:
3. Kode Java Asli
impor java.util.scanner; System Class PublicConvert {pemindai pemindai statis = pemindai baru (System.in); string statis s = ""; public static void convert () {System.out.println ("Harap masukkan nomor:"); Nomor string = scanner.next (); System.out.println("choose a way:/n Enter 1, indicating decimal to binary;/n" + "Input 2, indicating decimal to decimal;/n" + "Input 3, indicating decimal to octal;/n" + "Input 4, means ength to decimal;/n" + "Input 5, means decimal to hexadecimal;/n" + "Input 6, means heksadesimal ke desimal;/n " +" input 7, berarti Jerman untuk mengarahkan;/n " +" input 8, berarti Jerman untuk heksadesimal;/n " +" input 9, berarti ength to hexadecimal;/n " +" input 10, berarti nol untuk hexadecimal;/n " +" n "n" heksadesimal ke oktal;/n "); int input = scanner.nextInt (); switch (input) {case 1: // 10 >>> 2 s = "" + c10t2 (NUMB); merusak; Kasus 2: // 2 >>> 10 S += C2T10 (NUMB); merusak; Kasus 3: // 10 >>> 8 S = "" + C10T8 (NUMB); merusak; Kasus 4: // 8 >>> 10 s = "" + C8T10 (NUMB); merusak; Kasus 5: // 10 >>> 16 s = integer.tohexstring (integer.valueof (NUMB)). Toupercase (); merusak; Kasus 6: // 16 >>> 10 int temp = integer.parseint (Numb, 16); s = "" + temp; merusak; case 7: // 2 >>> 8 s = "" + c10t8 (integer.tostring (C2T10 (NUMB)))); merusak; Kasus 8: // 2 >>> 16 s = integer.tohexstring (integer.valueof (C2T10 (NUMB))). ToUppercase (); merusak; case 9: // 8 >>> 2 s = "" + c10t2 (integer.tostring (c8t10 (numb)))); merusak; Kasus 10: // 8 >>> 16 s = integer.tohexstring (integer.valueof (C8T10 (NUMB))). ToUppercase (); merusak; Kasus 11: // 16 >>> 2 int temp2 = integer.parseint (Numb, 16); s = integer.tobinaryString (temp2); merusak; Kasus 12: // 16 >>> 8 int temp3 = integer.parseint (Numb, 16); S = C10T8 (Integer.ToString (Temp3)); merusak; default: System.out.println ("Input yang salah!"); } System.out.println (s); } public static int c2t10 (string numb) {int k = 0, hasil = 0; // Hasil string = null; untuk (int i = integer.valueof (numb); i> 0; i /= 10) {result += (i % 10) * math.pow (2, k); K ++; } hasil pengembalian; } public static int c8t10 (string numb) {int k = 0, temp = 0; untuk (int i = integer.valueof (numb); i> 0; i /= 10) {temp += (i % 10) * math.pow (8, k); K ++; } return temp; } public static string c10t8 (string numb) {string result = ""; untuk (int i = integer.valueof (numb); i> 0; i /= 8) hasil = i % 8 + hasil; hasil pengembalian; } public static string c10t2 (string numb) {string result = ""; untuk (int i = integer.valueof (numb); i> 0; i /= 2) hasil = i % 2 + hasil; hasil pengembalian; } public static void main (string [] args) {SystemConvert.convert (); }}4. Jalankan tangkapan layar:
PS: Berikut adalah beberapa alat konversi dan perhitungan online untuk situs web ini. Saya percaya itu akan membantu Anda:
Alat konversi sewenang -wenang online:
http://tools.vevb.com/transcoding/HexConvert
Kalkulator Standar Online:
http://tools.vevb.com/jisuanqi/jsq
Kalkulator ilmiah online:
http://tools.vevb.com/jisuanqi/jsqkeexue
Saya harap artikel ini akan membantu pemrograman Java semua orang.