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,满 ...
随机推荐
- ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
前端HTML+JQuery 备注Jquery需要1.x版本,不能用2.x版本 1.引入必要文件及上传input <load file="__PUBLIC__/js/jquery-1. ...
- Werkzeug源码阅读笔记(三)
这次主要讲下werkzeug中的Local. 源码在werkzeug/local.py Thread Local 在Python中,状态是保存在对象中.Thread Local是一种特殊的对象,它是对 ...
- NET Core 的 Views
NET Core 十种方式扩展你的 Views 原文地址:http://asp.net-hacker.rocks/2016/02/18/extending-razor-views.html作者:Jür ...
- Java Scoket之java.io.EOFException解决方案
Java Scoket之java.io.EOFException解决方案 Socket接收数据的时候,常常会抛出java.io.EOFException异常,也没有明确的原因和提示,在网上搜搜,很 ...
- hadoop源码eclipse环境搭建-源码获取阶段
就目前了解,结合eclipse阅读和编译hadoop源码用两种方式:svn和git. 根据官方指南http://wiki.apache.org/hadoop/EclipseEnvironment 推荐 ...
- Android切换页面效果的实现二:WebView+ViewPager
前言: 由于第一种切换页面的效果不能满足项目的要求,于是又找到另外一种更简单好用的方法来实现,顿时感觉,做项目开发,找到一种合适的方法能够减少很多时间,(刚开始自己弄的时候还想着自己写手势识别的方法呢 ...
- opennebula kvm attach disk
openNebula hotPlug disk or nic 网络检索关键字(Network search keywords) 208.117.233.122 virsh attach disk vi ...
- _extend用法总结
针对对象数组: 后面的属性会覆盖更新前面的属性 看代码: <!DOCTYPE html> <html> <head> <meta charset=" ...
- 神奇的i=i++
最近在看c语言,被神奇的i=i++吸引,其实感觉编程是一件有趣的事情(特别喜欢算法).下面是我的测试,linux 下 gcc编译 #include<stdio.h> main () { ...
- POJ 3111 K Best(最大化平均值)
题目链接:click here~~ [题目大意]有n个物品的重量和价值各自是Wi和Vi.从中选出K个物品使得单位重量的价值最大,输出物品的编号 [解题思路]:最大化平均值的经典.參见click her ...