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.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进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制的更多相关文章
- 第26章 java进制操作
java进制操作 1.二进制 二进制只有0和1,逢二进一 二进制多用在计算机中,来自计算机硬件的开关闭合 2.位运算 分别讲解: 2.1.按位与 & 两位全为1,结果才为1 0&0=0 ...
- Java的进制转换操作(十进制、十六进制、二进制)
2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. ...
- Java进制转换, 数据类型, 运算符
1:进制转换 转换规则: 先把数据的每一位上的系数乘以对应基数的次幂(低位从零开始),然后相加即可 十进制到其他进制 规则:除基取余,直到商为0,最后将余数反转 十进制到二进制: 除2取余,直到商为0 ...
- C语言dos程序源代码分享(进制转换器)
今天给大家分享一个dos程序的源代码 这个程序是本人在学习中的经验分享 如果有问题或者建议,欢迎大家一起交流 源代码: /*本程序为一个进制转换器 本程序不作为商业用途,完全为技术交流 喜欢C语言的同 ...
- Java 进制及转换
Java 整型的表现形式 Java 数据类型中有四种整型,分别是 byte.short.int.long,而整型定义下的数据还会按进制来区分: 十进制整数:都是以 0-9 这九个数字组成,不能以 0 ...
- Delphi进制转换(二进制/十进制/十六进制)
http://www.cnblogs.com/ywangzi/archive/2012/12/12/2815219.html Delphi进制转换(二进制/十进制/十六进制) 2009-11-2 ...
- Python 进制转换 二进制 八进制 十进制 十六进制
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...
- java进制转换代码
定义十进制的数直接写,定义8进制的数以0开头,定义二进制的数以0b开头,定义十六进制的数以0x开头需要将十进制的数以二进制的数表示出来可以参照下例: int a = 10; System.out.pr ...
- (五)java进制
进制 整数的表示 十进制: 0-9, 满10进1 八进制: 0-7, 满8进1,以0开头 每三位表示一位,三位数中最大的是111,111是7,7是八进制中最大的基数 十六进制:0-15,满 ...
随机推荐
- 转: ES6异步编程:Thunk函数的含义与用法
转: ES6异步编程:Thunk函数的含义与用法 参数的求值策略 Thunk函数早在上个世纪60年代就诞生了. 那时,编程语言刚刚起步,计算机学家还在研究,编译器怎么写比较好.一个争论的焦点是&quo ...
- IOS深入学习(1)之图标文件(icon files)
1 前言 我相信大家在做IOS一定经常会跟图标文件(icon files)打交道,今天我们就来简单的学习一下iPhone和iPad程序中的icon files. 2 详述 除了iTunesArtwor ...
- MFC上下浮动与渐入渐出消息提示框实现
类似QQ与360软件,消息提示有两种.上下浮动.渐入渐出. 1.上下浮动提示框实现 机制,定时器响应上下浮动消息. 主要API:MoveWindow. 源码如下UpDownTipDlg.h.UpDow ...
- poj2608---几个字母映射到同一个数字
#include <stdio.h> #include <stdlib.h> #include<string.h> ]={,,,,,,,,,,,,,,,,,,,,, ...
- spoj 7258 Lexicographical Substring Search (后缀自动机)
spoj 7258 Lexicographical Substring Search (后缀自动机) 题意:给出一个字符串,长度为90000.询问q次,每次回答一个k,求字典序第k小的子串. 解题思路 ...
- append与after
apend与apendTo就如同after与insertAfter,表达意思相同,表达不同.A.after(B)=B.insertAfter(A).apend在元素里面添加,after在元素外面添加. ...
- Swift初体验(三)
/*******************************************************************************/ // 协议 protocol Des ...
- POJ 3692 Kindergarten (二分图 最大团)
Kindergarten Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5660 Accepted: 2756 Desc ...
- Android 刷新下拉控制 SwipeRefreshLayout
上个月,google它宣布了自己的下拉刷新控制------SwipeRefreshLayout,控制封装在android-support-v4.jar包裹,依靠听力OnRefreshListener实 ...
- OS笔记047代理传值和block传值
在两个不同的控制器之间传递数据,可以使用代理传值或者block传值. 例子是一个简单通讯录. 主界面如下: 添加联系人界面 查看/编辑联系人界面:默认是查看模式,点击编辑后进入编辑模式 编辑模式 数据 ...