我想做一个转换器十进制,二进制,十六进制,八进制。这就是我现在使用java库所做的事情
import java.text.*;
import java.util.*;
public class convertitore {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String binario = null;
String ottale = null;
int decimale = 0, sel;
String esa = null;
System.out.println("Choose the type of number to convert: ");
System.out.println("Enter 1 for decimal");
System.out.println("Enter 2 for binary");
System.out.println("Enter 3 for hexadecimal");
System.out.println("Enter 4 for octal");
sel = scanner.nextInt();
if (sel == 1){
System.out.println("Enter a decimal number: ");
decimale = scanner.nextInt();
esa = java.lang.Integer.toHexString(decimale);
binario = java.lang.Integer.toBinaryString(decimale);
ottale = java.lang.Integer.toOctalString(decimale);
System.out.println("The decimal number entered is: " + decimale);
System.out.println("The hexadecimal number entered is: " + esa);
System.out.println("The binary number entered is: " + binario);
System.out.println("The octal number entered is: " + ottale);
}
if (sel == 2){
System.out.println("Enter a binary number: ");
binario = scanner.next();
decimale = Integer.parseInt(binario.toString(),2);
esa = java.lang.Integer.toHexString(decimale);
ottale = java.lang.Integer.toOctalString(decimale);
System.out.println("The binary number entered is: " + binario);
System.out.println("The hexadecimal number entered is: " + esa);
System.out.println("The decimal number entered is: " + decimale);
System.out.println("The octal number entered is: " + ottale);
}
if (sel == 3){
System.out.println("Inserisci un numero binario: ");
esa = scanner.next();
decimale = Integer.parseInt(esa.toString(),16);
binario = java.lang.Integer.toBinaryString(decimale);
ottale = java.lang.Integer.toOctalString(decimale);
System.out.println("Il numero esadecimale inserito è: " + esa);
System.out.println("Il numero inserito in binario è: " + binario);
System.out.println("Il numero inserito in decimale è: " + decimale);
System.out.println("Il numero inserito in ottale è: " + ottale);
}
if (sel == 4){
System.out.println("Inserisci un numero binario: ");
ottale = scanner.next();
decimale = Integer.parseInt(ottale.toString(),8);
esa = java.lang.Integer.toHexString(decimale);
binario = java.lang.Integer.toOctalString(decimale);
System.out.println("Il numero ottale inserito è: " + ottale);
System.out.println("Il numero inserito in esacemale è: " + esa);
System.out.println("Il numero inserito in decimale è: " + decimale);
System.out.println("Il numero inserito in binario è: " + binario);
}
}
}
但我想改进转换,用带小数点和负数的数字,你对我有什么建议吗?