使用java编写一个进制转换程序
时间: 2023-05-30 19:04:35 浏览: 81
以下是一个简单的Java进制转换程序,可以将十进制数转换为二进制、八进制或十六进制:
```
import java.util.Scanner;
public class BaseConverter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a decimal number: ");
int decimal = scanner.nextInt();
System.out.println("Binary: " + Integer.toBinaryString(decimal));
System.out.println("Octal: " + Integer.toOctalString(decimal));
System.out.println("Hexadecimal: " + Integer.toHexString(decimal));
}
}
```
该程序首先提示用户输入一个十进制数,然后分别使用Java中的`Integer.toBinaryString()`、`Integer.toOctalString()`和`Integer.toHexString()`方法将其转换为二进制、八进制和十六进制,并输出结果。
相关问题
使用java编写一个进制转换应用程序
以下是一个基于Java的进制转换应用程序示例。它可以将任何基数的数字转换为另一种基数。
```java
import java.util.Scanner;
public class BaseConverter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您要转换的数字:");
String inputNumber = scanner.nextLine();
System.out.println("请输入当前数字的基数:");
int inputBase = scanner.nextInt();
System.out.println("请输入目标数字的基数:");
int targetBase = scanner.nextInt();
String convertedNumber = convertBase(inputNumber, inputBase, targetBase);
System.out.println("转换后的数字为:" + convertedNumber);
}
private static String convertBase(String inputNumber, int inputBase, int targetBase) {
int decimalNumber = toDecimal(inputNumber, inputBase);
String targetNumber = fromDecimal(decimalNumber, targetBase);
return targetNumber;
}
private static int toDecimal(String inputNumber, int inputBase) {
int decimalNumber = 0;
for (int i = 0; i < inputNumber.length(); i++) {
int digit = Character.digit(inputNumber.charAt(i), inputBase);
decimalNumber = decimalNumber * inputBase + digit;
}
return decimalNumber;
}
private static String fromDecimal(int decimalNumber, int targetBase) {
String targetNumber = "";
while (decimalNumber > 0) {
int remainder = decimalNumber % targetBase;
char digit = Character.forDigit(remainder, targetBase);
targetNumber = digit + targetNumber;
decimalNumber /= targetBase;
}
return targetNumber;
}
}
```
该程序首先提示用户输入要转换的数字,然后要求输入当前数字的基数和目标数字的基数。它将调用两个帮助方法来执行实际的进制转换。第一个方法`toDecimal`将输入数字转换为十进制数,第二个方法`fromDecimal`将十进制数转换为目标基数的数字。最后,转换后的数字将被打印出来。
使用java编写一个进制转换应用程序,在windows上使用
以下是一个Java进制转换应用程序的例子,可以在Windows上使用:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择要转换的进制类型:");
System.out.println("1. 十进制 -> 二进制");
System.out.println("2. 二进制 -> 十进制");
System.out.println("3. 十进制 -> 八进制");
System.out.println("4. 八进制 -> 十进制");
System.out.println("5. 十进制 -> 十六进制");
System.out.println("6. 十六进制 -> 十进制");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("请输入一个十进制数:");
int decimal1 = scanner.nextInt();
String binary1 = Integer.toBinaryString(decimal1);
System.out.println(decimal1 + " 的二进制表示为:" + binary1);
break;
case 2:
System.out.println("请输入一个二进制数:");
String binary2 = scanner.next();
int decimal2 = Integer.parseInt(binary2, 2);
System.out.println(binary2 + " 的十进制表示为:" + decimal2);
break;
case 3:
System.out.println("请输入一个十进制数:");
int decimal3 = scanner.nextInt();
String octal1 = Integer.toOctalString(decimal3);
System.out.println(decimal3 + " 的八进制表示为:" + octal1);
break;
case 4:
System.out.println("请输入一个八进制数:");
String octal2 = scanner.next();
int decimal4 = Integer.parseInt(octal2, 8);
System.out.println(octal2 + " 的十进制表示为:" + decimal4);
break;
case 5:
System.out.println("请输入一个十进制数:");
int decimal5 = scanner.nextInt();
String hex1 = Integer.toHexString(decimal5);
System.out.println(decimal5 + " 的十六进制表示为:" + hex1);
break;
case 6:
System.out.println("请输入一个十六进制数:");
String hex2 = scanner.next();
int decimal6 = Integer.parseInt(hex2, 16);
System.out.println(hex2 + " 的十进制表示为:" + decimal6);
break;
default:
System.out.println("无效的选择!");
break;
}
scanner.close();
}
}
运行程序后,将提示用户选择要转换的进制类型。用户可以输入1到6之间的数字,然后根据所选的选项输入相应的数值。程序将根据用户选择的选项进行转换,并输出结果。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)