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. 6. java.lang.IllegalArgumentException

    方法的参数错误 比如g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查 ...

  2. 搭建Android开发环境之——Android4.0.3, 4.1, 4.2, 4.3, 4.x,及升级 ADT(22.0.5)和SDK(22.x)

    1.首先要下载相关的软件 1). JDK 6 以上 2). eclipse( Version 3.6.2  or higher ) 点击下载 3). SDK(android-sdk_r18-windo ...

  3. 蓝桥杯之K好数问题

    问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22 ...

  4. c++链接数据库测试,中文有问题

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <Windows.h& ...

  5. Numpy之ndarray与matrix

    1. ndarray对象 ndarray是numpy中的一个N维数组对象,可以进行矢量算术运算,它是一个通用的同构数据多维容器,即其中的所有元素必须是相同类型的. 可以使用array函数创建数组,每个 ...

  6. 前端web应用的组件化(二) 徐飞

    Web应用的组件化(二) https://github.com/xufei/blog/issues/7 管控平台 在上一篇中我们提到了组件化的大致思路,这一篇主要讲述在这么做之后,我们需要哪些外围手段 ...

  7. JDBC增强

    JDBC增强 批处理:批量处理sql语句,比如批量添加用户信息. addBatch()  //pstmt.addBatch()  就是替换一条一条执行的execute****** executeBat ...

  8. BoundsChecker使用

      转载:http://www.cnitblog.com/qiuyangzh/archive/2005/07/14/975.html 1 前言 我在本文中具体介绍了測试工具NuMega Devpart ...

  9. 列表的实现-----数据结构与算法JavaScript描述 第三章

    实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...

  10. javascript封装自定义滚动条方法,可自定义四个边框滚动条

    还是根据我的个人习惯封装了一个方法 setScroll({ box :父盒子DOM对象, content : 内容盒子DOM对象, scrollall : 滚动条大盒子DOM对象, scroll : ...