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

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[i]=new Label(str[i],Label.RIGHT);

panel_left.add(label[i]);

}

text_field=new JTextField[10];//重要

for(int i=0;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

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

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

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

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

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();

}

}

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值