0

我想做一个转换器十进制,二进制,十六进制,八进制。这就是我现在使用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);  
}   
}
}

但我想改进转换,用带小数点和负数的数字,你对我有什么建议吗?

4

1 回答 1

0

In order to convert numbers with decimal points, you can use the class Double and its methods, toHexString and doubleToLongBits.

于 2012-05-28T13:02:52.487 回答