import java.util.Scanner; public class SystemConvert { static Scanner scanner = new Scanner(System.in); static String s = ""; // 定义10进制转2进制的方法。 public static String C10T2(int numb) { String result = ""; for (int i = numb; i > 0; i /= 2) result = i % 2 + result; return result; } // 定义10进制转8进制的方法。 public static String C10T8(int numb) { String result = ""; for (int i = numb; i > 0; i /= 8) result = i % 8 + result; return result; } // 定义2进制转10进制的方法。 public static int C2T10(int numb) { int k = 0, result = 0; // String result=null; for (int i = numb; i > 0; i /= 10) { result += (i % 10) * Math.pow(2, k); k++; } return result; } // 定义8进制转10进制的方法。 public static int C8T10(int numb) { int k = 0, temp = 0; for (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 (to) { case 2: s = "" + C10T2(numb); break; case 8: s = "" + C10T8(numb); break; case 16: s = Integer.toHexString(numb).toUpperCase(); break; default: System.out.println("wrong input!"); } System.out.println(s); } public static void convert2(int numb, int to) { String s = ""; switch (to) { case 10: s = "" + C2T10(numb); break; case 8: s = "" + C10T8(C2T10(numb)); break; case 16: s = Integer.toHexString(C2T10(numb)).toUpperCase(); break; default: System.out.println("wrong input!"); } System.out.println(s); } public static void convert8(int numb, int to) { String s = ""; switch (to) { case 2: s = "" + C10T2(C8T10(numb)); break; case 10: s = "" + C8T10(numb); break; case 16: s = Integer.toHexString(C8T10(numb)).toUpperCase(); break; default: System.out.println("wrong input!"); } System.out.println(s); } public static void convert16(String numb, int to) { String s = ""; switch (to) { case 2: int temp2 = Integer.parseInt(numb, 16); s = C10T2(temp2); break; case 8: int temp3 = Integer.parseInt(numb, 16); s = C10T8(temp3); break; case 10: int temp = Integer.parseInt(numb, 16); s = "" + temp; break; default: System.out.println("wrong input!"); } System.out.println(s); } public static void convert(int numb, int from, int to) { switch (from) { case 10: convert10(numb, to); break; case 2: convert2(numb, to); break; case 8: convert8(numb, to); break; default: System.out.println("wrong input!"); } } public static void convert(String numb, int from, int to) { switch (from) { case 16: convert16(numb, to); break; default: System.out.println("wrong input!"); } } public static void main(String[] args) { System.out.println("要转的是16进制数吗?\n输入1。代表是;\n输入2.代表不是.\n"); int input = scanner.nextInt(); switch (input) { case 1: System.out.println("请输入一个16进制数:"); String numb = scanner.next(); System.out.println("转成什么进制的数?"); int to = scanner.nextInt(); convert(numb, 16, to); break; case 2: System.out.println("请输入一个数:"); int numb2 = scanner.nextInt(); System.out.println("从什么进制数转起?"); int from = scanner.nextInt(); System.out.println("转成什么进制的数?"); int to2 = scanner.nextInt(); convert(numb2, from, to2); break; default: System.out.println("wrong input!"); } } }
import java.util.Scanner; public class SystemConvert { static Scanner scanner = new Scanner(System.in); static String s = ""; public static void convert() { System.out.println("please input a number:"); String numb = scanner.next(); System.out.println("choose a way:\n输入1,表示10进制转2进制;\n" + "输入2,表示2进制转10进制;\n" + "输入3,表示10进制转8进制;\n" + "输入4,表示8进制转10进制;\n" + "输入5,表示10进制转16进制;\n" + "输入6,表示16进制转10进制;\n" + "输入7,表示2进制转8进制;\n" + "输入8,表示2进制转16进制;\n" + "输入9,表示8进制转2进制;\n" + "输入10,表示8进制转16进制;\n" + "输入11,表示16进制转2进制;\n" + "输入12,表示16进制转8进制;\n"); int input = scanner.nextInt(); switch (input) { case 1: // 10>>>2 s = "" + C10T2(numb); break; case 2: // 2>>>10 s += C2T10(numb); break; case 3: // 10>>>8 s = "" + C10T8(numb); break; case 4: // 8>>>10 s = "" + C8T10(numb); break; case 5: // 10>>>16 s = Integer.toHexString(Integer.valueOf(numb)).toUpperCase(); break; case 6:// 16>>>10 int temp = Integer.parseInt(numb, 16); s = "" + temp; break; case 7: // 2>>>8 s = "" + C10T8(Integer.toString(C2T10(numb))); break; case 8: // 2>>>16 s = Integer.toHexString(Integer.valueOf(C2T10(numb))).toUpperCase(); break; case 9: // 8>>>2 s = "" + C10T2(Integer.toString(C8T10(numb))); break; case 10:// 8>>>16 s = Integer.toHexString(Integer.valueOf(C8T10(numb))).toUpperCase(); break; case 11:// 16>>>2 int temp2 = Integer.parseInt(numb, 16); s = Integer.toBinaryString(temp2); break; case 12:// 16>>>8 int temp3 = Integer.parseInt(numb, 16); s = C10T8(Integer.toString(temp3)); break; default: System.out.println("Wrong input!"); } System.out.println(s); } public static int C2T10(String numb) { int k = 0, result = 0; // String result=null; for (int i = Integer.valueOf(numb); i > 0; i /= 10) { result += (i % 10) * Math.pow(2, k); k++; } return result; } public static int C8T10(String numb) { int k = 0, temp = 0; for (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 = ""; for (int i = Integer.valueOf(numb); i > 0; i /= 8) result = i % 8 + result; return result; } public static String C10T2(String numb) { String result = ""; for (int i = Integer.valueOf(numb); i > 0; i /= 2) result = i % 2 + result; return result; } public static void main(String[] args) { SystemConvert.convert(); } }
相关推荐
一个用java写的进制转换器,有图形界面。 主要是调用java的lang类进行转换。
本项目名为"进制转换器(java)",它是一个小巧的工具,专门用于进行2、8、10和16进制之间的转换,特别是针对整数类型。以下将详细讲解进制转换的基本原理以及在Java中如何实现这些转换。 首先,我们来看二进制...
本代码用JAVA语言编写,实现了十进制,二进制,十六进制和八进制的转换
在给定的文件内容中,我们看到了一个Java程序的示例代码,这个程序提供了一种实现复杂进制转换器功能的方法。程序中包含了从10进制到2进制、8进制、16进制的转换,以及这些进制之间的相互转换。通过封装成不同的函数...
本程展示如何使用Java中Swing程序来设计进制转换器,实现十进制到二进制,八进制,十六进制的转换。
设计一个java程序。输入一个十进制数转,将其换成二进制、八进制和十六进制。
本进制转换器用于二进制、八进制、十进制、十六进制之间的整数数值转换。 与常规的转换器不同的是,这个转换器支持一次转换一个或批量转换一组数字,每个数字只需要以TAB、回车、空格、逗号或分号(全半角均可)...
这里我们主要探讨的是"4种常用进制转换器",它是一款便捷的工具,帮助用户轻松实现不同数值系统之间的转换。V5.0.0.3版本因其高效、实时的转换特性受到了用户的高度评价。 首先,我们要了解最基本的四种进制:二...
在这个"进制转换器源码"中,我们可以看到一个程序,它能够处理从二进制(Binary)到三十六进制(Hexavigesimal)之间的数字转换。下面我们将深入探讨这个主题,包括进制转换的基本原理、常见进制及其用途,以及可能...
在Java编程语言中,进制转换是一项基础但重要的技能,特别是在处理数字表示和数据解析时。本程序提供了一个Java桌面小应用程序,它允许用户进行任意进制之间的转换,包括从字符和字符串转换到其他进制数。下面我们将...
标题《Java万能进制转换器.pdf》及描述表明这是一份介绍如何使用Java语言构建一个可以进行万能进制转换的工具的文档。文档中提到了关键的类和方法,以及在GUI(图形用户界面)设计中涉及的技术细节。在Java的图形...
进制转换器是一种工具,用于在不同的数值进制之间进行转换。在计算机科学和信息技术领域,进制转换是一项基础但至关重要的技能。了解并能够熟练使用各种进制,如二进制、八进制、十进制和十六进制,对于理解和处理...
综上所述,这个程序使用Java和Android SDK编写,实现了基本的数值进制转换功能,通过用户界面交互,提供便捷的十进制到二、八、十六进制的转换服务,并通过不同的颜色标识转换结果。这个项目对于初学者来说是一个很...
`chang`函数则专门用于处理十六进制转换中余数为10到15的情况。 ### 示例代码 虽然提供的代码片段包含了一些非Java语法(如C#特有的命名空间和类定义),但核心转换逻辑清晰可见。例如,在`DtoB`函数中,通过循环...
进制转换器是一种工具,它允许用户在这些不同的数制间进行转换,这对于理解和处理二进制数据尤其有用,因为计算机内部是以二进制形式存储和处理所有信息的。 二进制(Base-2)系统由两个数字0和1组成,是计算机科学...
【Java万能进制转换器】是一个Java编写的程序,用于实现不同进制之间的数值转换。这个程序具有用户友好的图形界面,能够方便地将数字从一种进制转换为另一种进制。以下是关于这个项目的详细解析: 1. **效果图**: ...
3. Java或Kotlin编程,实现逻辑处理和进制转换算法。 4. 用户交互事件的处理,如按钮点击监听。 5. 错误处理和异常管理,确保应用的稳定性和用户体验。 6. 应用部署和测试,确保功能的正确性和性能的优化。 通过这...
Java基于界面的二,十,八,十六进制转换工具源代码