import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Scale {JFrame f;JPanel [] p=new JPanel[4];JButton [] c=new JButton[13];JLabel [] t=new JLabel[2];JTextField [] tf=new JTextField[2];String [] bt={"二进制","八进制","十六进制","1","2","3","4","5","6","7","8","9","0"};public  Scale(){f=new JFrame("进制转换计算器");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setSize(400,400);f.setLayout(new GridLayout(4,1));p[0]=new JPanel(new GridLayout(1,2));p[1]=new JPanel(new GridLayout(1,2));p[2]=new JPanel(new GridLayout(4,3));p[3]=new JPanel(new GridLayout(1,1));for(int i=0;i<13;i++){c[i]=new JButton(bt[i]);}c[0].addActionListener(new Listener1());c[1].addActionListener(new Listener2());c[2].addActionListener(new Listener3());c[3].addActionListener(new Listener4());c[4].addActionListener(new Listener5());c[5].addActionListener(new Listener6());c[6].addActionListener(new Listener7());c[7].addActionListener(new Listener8());c[8].addActionListener(new Listener9());c[9].addActionListener(new Listener10());c[10].addActionListener(new Listener11());c[11].addActionListener(new Listener12());c[12].addActionListener(new Listener13());t[0]=new JLabel("输入");t[1]=new JLabel("输出");tf[0]=new JTextField();tf[1]=new JTextField();for(int i=0;i<2;i++){p[i].add(t[i]);p[i].add(tf[i]);}for(int i=0;i<12;i++){p[2].add(c[i]);}p[3].add(c[12]);for(int i=0;i<4;i++){f.add(p[i]);}f.setVisible(true);}public String binary(int num){String binaryNum="";int [] arr=new int[32];int  v,j=0;if(num==0)return binaryNum=binaryNum+"0";else{for(int  i=31;i>=0;i--){v=num&1;arr[i]=v;num=num>>1;}one:for(int i=0;i<32;i++){if(arr[i]==0&&arr[i+1]!=0){j=i+1;break one;}}for(int i=j;i<32;i++ ){binaryNum=binaryNum+arr[i];}return binaryNum;}}public String octal(int num){String octalNum="0";int [] arr=new int[11];int  v,j=0;if(num==0)return octalNum=octalNum+"0";else{for(int  i=10;i>=0;i--){v=num&7;arr[i]=v;num=num>>3;}one:for(int i=0;i<11;i++){if(arr[i]==0&&arr[i+1]!=0){j=i+1;break one;}}for(int i=j;i<11;i++ ){octalNum=octalNum+arr[i];}return octalNum;}}public String hexadecimal(int num){String hexadecimalNum="0x";char [] str={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};int [] arr=new int[8];int  v,j=0;if(num==0)return hexadecimalNum=hexadecimalNum+"0";else{for(int  i=7;i>=0;i--){v=num&15;arr[i]=v;num=num>>4;}one:for(int i=0;i<8;i++){if(arr[i]==0&&arr[i+1]!=0){j=i+1;break one;}}for(int i=j;i<8;i++ ){hexadecimalNum=hexadecimalNum+str[arr[i]];}return hexadecimalNum;}}public static void main(String[] args){new Scale();}class Listener1 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubint num1 = Integer.parseInt(tf[0].getText().trim());tf[1].setText(binary(num1));}}class Listener2 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubint num1=Integer.parseInt(tf[0].getText().trim());tf[1].setText(octal(num1));}}class Listener3 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubint num1=Integer.parseInt(tf[0].getText().trim());tf[1].setText(hexadecimal(num1));}}class Listener4 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[3]);}}class Listener5 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[4]);}}class Listener6 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[5]);}}class Listener7 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[6]);}}class Listener8 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[7]);}}class Listener9 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[8]);}}class Listener10 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[9]);}}class Listener11 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[10]);}}class Listener12 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[11]);}}class Listener13 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtf[0].setText(tf[0].getText()+bt[12]);}}}

java 做的简易进制计算器相关推荐

  1. 使用Android Studio做一个简易进制转换计算器

    Android Studio简易进制转换计算器 1.问题描述. 设计并实现一个数制转换器,能够对输入的任- -进制类型的数值转换为指定的数制类型的数值.必须实现的数制类型有二进制.八进制.十进制和十六 ...

  2. 基于单片机(AT89C51)的进制转换及进制计算器

    基于单片机(AT89C51)的进制转换及进制计算器 闲来无事,用手头51单片机做个进制计算器 成品功能:能实现十进制带负数.带小数点的加减乘除,不同进制之间的转换,同一进制之间的加减乘. 材料 AT8 ...

  3. java读取文件 16进制_Java对文件的16进制读取和操作

    大家可以参考一下源代码的相关部分注释,然后写出自己的16进制处理程序. 有几个重点地方: 16进制字符串->10进制数          int input = Integer.parseInt ...

  4. 计算机16进制应用,16进制计算器安装方法 16进制计算器使用技巧

    对于这款软件,相信很多用户都是十分熟悉的 了.16进制计算器实际上就是一款具备了众多功能进制转换计算工具,它其中包含了二进制.八进制.十进制.十六进制ASCII码等,用户在拥有了这款软件之后,就可以随 ...

  5. Java 字符串,byte[],16进制的字符串互转

    Java 字符串,byte[],16进制的字符串互转 /** * 字符串转换成十六进制字符串 */ public static String str2HexStr(String str) { char ...

  6. 能转16进制的计算机软件,16进制计算器能否完成各种不同进制的转换?

    在使用16进制计算器的时候,并没有复杂的步骤,整个操作是非常简单的,而且还支持多款安卓手机下载使用,它占用的空间是比较小的,凭借着非常好用的特色,成为众多用户提升工作效率的一款必备工具. 16进制计算 ...

  7. c语言中的16进制坐标计算器,十六进制计算器_16进制计算器

    16进制计算器 开始--所有程序--附件--计算器 电脑计算器16进制转换10进制怎么用 在电脑自带的计算器中启用"程序员"设置,即可进行16进制转换10进制的操作.具体操作请参照 ...

  8. c语言16进制怎么计算器,问各位大侠一个16进制计算器的问题(Charles Petzold著《windows程序设计》第11章)...

    问各位大侠一个16进制计算器的问题(Charles Petzold著<windows程序设计>第11章) /*--------------------------------------- ...

  9. java 中文转16进制ASCll码

    java 中文转16进制ASCll码 在设置户外大屏时了解到大屏的通讯,可使用MODBUS TCP协议,因此学习了一下,发现和大屏通讯设置难度不大,还是老一套的发送16进制指令,唯一有兴趣的是中文转1 ...

最新文章

  1. TVM性能评估分析(五)
  2. mysql 外键有啥用途_Mysql外键是什么?有哪些用处?(图文+视频)
  3. monotouch Single View Application
  4. IntelliJ IDEA打开Maven项目,Spring boot所有依赖红名,不可用
  5. C语言试题六十一之请编写函数fun:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中。
  6. 普通程序猿三步升级成高级程序员
  7. 几个ASP.NET小技巧
  8. 2020中国移动创客马拉松大赛移动云专题赛决赛成功举办
  9. OpenCvForUnity人脸识别插件动态创建面部特征点Unity换脸
  10. 【原创】pads2007 Layout 电气连接性检查过孔显示错误
  11. linux输入法_惊奇软件:这是我见过最有【态度】的输入法!
  12. 三步教你制作拼多多优惠券cms网站系统的返利功能
  13. java char a z_java中,char A,char a的值各是多少?
  14. 操作系统 面试问题_操作系统面试问答
  15. JavaEE | 集合之HashMap与ConcurrentHashMap(看完多线程后补充)
  16. Lae程序员小漫画,仅供一乐!
  17. 超强大的货币汇率实时查询工具
  18. 很多人问如何把网页封装成app呢?
  19. 集牛气 展虎威 | 指令集祝您新春快乐,虎年大吉!
  20. 论文+答辩时PPTword的使用注意点

热门文章

  1. 这款软件美观大气又好用!内置福利资源
  2. ubuntu mint 开机启动项管理
  3. 基于51单片机hc-05,hc-06蓝牙传送数据到手机APP
  4. Habor的镜像文件存储与使用
  5. MTBF检测方法及标准
  6. 【UML】用例图Use Case Diagram、部署图Deployment Diagram、构件图Component Diagram
  7. 商业数据挖掘的应用场景,主要分为哪几种?
  8. Java带图片的excel数据导入
  9. 怎样在网页版B站上下载视频
  10. Android 开机Process xxx (pid xxxx) has died问题分析