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

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

  1. 第26章 java进制操作

    java进制操作 1.二进制 二进制只有0和1,逢二进一 二进制多用在计算机中,来自计算机硬件的开关闭合 2.位运算 分别讲解: 2.1.按位与 & 两位全为1,结果才为1 0&0=0 ...

  2. Java的进制转换操作(十进制、十六进制、二进制)

    2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. ...

  3. Java进制转换, 数据类型, 运算符

    1:进制转换 转换规则: 先把数据的每一位上的系数乘以对应基数的次幂(低位从零开始),然后相加即可 十进制到其他进制 规则:除基取余,直到商为0,最后将余数反转 十进制到二进制: 除2取余,直到商为0 ...

  4. C语言dos程序源代码分享(进制转换器)

    今天给大家分享一个dos程序的源代码 这个程序是本人在学习中的经验分享 如果有问题或者建议,欢迎大家一起交流 源代码: /*本程序为一个进制转换器 本程序不作为商业用途,完全为技术交流 喜欢C语言的同 ...

  5. Java 进制及转换

    Java 整型的表现形式 Java 数据类型中有四种整型,分别是 byte.short.int.long,而整型定义下的数据还会按进制来区分: 十进制整数:都是以 0-9 这九个数字组成,不能以 0 ...

  6. Delphi进制转换(二进制/十进制/十六进制)

    http://www.cnblogs.com/ywangzi/archive/2012/12/12/2815219.html   Delphi进制转换(二进制/十进制/十六进制)  2009-11-2 ...

  7. Python 进制转换 二进制 八进制 十进制 十六进制

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...

  8. java进制转换代码

    定义十进制的数直接写,定义8进制的数以0开头,定义二进制的数以0b开头,定义十六进制的数以0x开头需要将十进制的数以二进制的数表示出来可以参照下例: int a = 10; System.out.pr ...

  9. (五)java进制

    进制 整数的表示 十进制:   0-9,  满10进1 八进制:   0-7,  满8进1,以0开头 每三位表示一位,三位数中最大的是111,111是7,7是八进制中最大的基数 十六进制:0-15,满 ...

随机推荐

  1. Octopress创建GitHub Pages——基于代码托管的静态博客

    Github Pages是静态网页来的,官方也半认可了它的博客用途,代码挂在github上,随时都可以更改,算是不错的一种尝试,因为它是静态的,所以在表现上会自由得多,但是,同样因为它是静态的,管理上 ...

  2. python filter内建函数

    以下是filter函数的官方文档,注意最后一段,当function不为None时,函数相似于[item for item in iterable if function(item)],function ...

  3. ASP.NET MVC3使用Unity2.0实现依赖注入(转载和扩展)

    http://note.youdao.com/share/?id=53252d0f897e0e109aadd296a1682354&type=note

  4. 不同的strcmp

    Android libc中的strcmp https://android.googlesource.com/platform/bootable/bootloader/legacy/+/donut-re ...

  5. MDX笔记

    为啥要写这一篇博客:之前断断续续的学习过MDX,也大致学会了基本语法,理解了基本用法,但是用的机会不多,到了真正用的时候,无从下手,十分尴尬!故此,将语法和基本用法温故总结,结合实例将MDX做个阶段性 ...

  6. C#版-百度网盘API的实现(一)

    在这篇文章中,楼主将会给大家介绍一下,通过C# winform程序在后台模拟用户登陆百度网盘的基本思路 首先了解下模拟登陆的流程,如下: 一,访问http://www.baidu.com网站,获取BA ...

  7. DKNY_百度百科

    DKNY_百度百科 DKNY

  8. 关于json文本数据的一些使用方法

    1.对象的存取 如果是对象的存取,可能需要序列化和反序列化对象的属性. NSDictionary params = @{@"hello":@"world"}; ...

  9. iOS获取手机当前的网络状态

    获取iOS网络状态,目前有两个办法. 1.通过监听手机状态栏的信息. 2.通过使用官方提供的类Reachability. 一.通过手机监听手机状态栏的信息 好处: 1.可以通过苹果的审核上架AppSt ...

  10. 精简JRE的思路初探

    引言: JRE是Java程序赖以执行的基础环境,眼下JRE已经很的庞大;即使为了执行一个简单的Hello World的程序.可能依旧须要依赖整个JRE,将近百兆大小的依赖性. 能否够对特定Java程序 ...