java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制

来源:互联网 发布:室内设计网络培训 编辑:程序博客网 时间:2024/05/16 11:14
package com.rgy.Test;import java.awt.Color;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.Label;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;import com.rgy.Tools.Tools;public class SystemSwitch {private JPanel panel_left;private JPanel panel_right;private Label label[];private JTextField text_field[];public void init(){JFrame f=new JFrame("int整数的进制转化");f.setVisible(true);f.setLocation(500, 250);f.setBackground(Color.lightGray);f.setLayout(new FlowLayout());panel_left=new JPanel();panel_right=new JPanel();panel_left.setLayout(new GridLayout(5,1,10,10));panel_right.setLayout(new GridLayout(5,2,10,10));String str[]={"十进制","二进制","四进制","八进制","十六进制"};label=new Label[5];//重要for(int i=0;i<label.length;i++){label[i]=new Label(str[i],Label.RIGHT);panel_left.add(label[i]);}text_field=new JTextField[10];//重要for(int i=0;i<text_field.length;i++){text_field[i]=new JTextField(20);panel_right.add(text_field[i]);if(i%2==1){text_field[i].setEditable(false);}}f.add(panel_left);f.add(panel_right);f.pack();text_field[0].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String str,str1,str2="",str3="",str4="";//辅助变量int len;int temp;str=text_field[0].getText();temp=Integer.parseInt(str);text_field[1].setText(""+(-temp));//十进制负数//正数二进制if(Integer.toBinaryString(temp).length()<=32){len=32-Integer.toBinaryString(temp).length();for(int i=0;i<len-1;i++){str4=str4+"0";}text_field[2].setText(str4+Integer.toBinaryString(temp));str4="";}else{return;}//相反数二进制text_field[3].setText(Integer.toBinaryString(-temp));//相反数四进制(利用负数的二进制分别进行两位合并得到该负数的四进制)str1=text_field[3].getText();for(int i=0;i<str1.length();i=i+2){str2=str1.substring(i,i+2);str3=str3+(Integer.parseInt(str2.substring(0,1))*2+Integer.parseInt(str2.substring(1,2)));}text_field[5].setText(str3);//正数四进制if((""+Tools.getQuanteranry(temp)).length()<=16){len=16-(""+Tools.getQuanteranry(temp)).length();for(int i=0;i<len-1;i++){str4=str4+"0";}text_field[4].setText(str4+Tools.getQuanteranry(temp));str4="";}else{return;}//正数八进制if(Integer.toOctalString(temp).length()<=12){len=12-Integer.toOctalString(temp).length();for(int i=0;i<len-1;i++){str4=str4+"0";}text_field[6].setText(str4+Integer.toOctalString(temp));str4="";}else{return;}//相反数八进制text_field[7].setText(Integer.toOctalString(-temp));//正数十六进制if(Integer.toHexString(temp).length()<=8){len=8-Integer.toHexString(temp).length();for(int i=0;i<len-1;i++){str4=str4+"0";}text_field[8].setText(str4+Integer.toHexString(temp));str4="";}else{return;}//相反数十六进制text_field[9].setText(Integer.toHexString(-temp));}});}public static void main(String args[]){new SystemSwitch().init();}}

4 0
原创粉丝点击