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,满 ...
随机推荐
- 6. java.lang.IllegalArgumentException
方法的参数错误 比如g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查 ...
- 搭建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 ...
- 蓝桥杯之K好数问题
问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22 ...
- c++链接数据库测试,中文有问题
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <Windows.h& ...
- Numpy之ndarray与matrix
1. ndarray对象 ndarray是numpy中的一个N维数组对象,可以进行矢量算术运算,它是一个通用的同构数据多维容器,即其中的所有元素必须是相同类型的. 可以使用array函数创建数组,每个 ...
- 前端web应用的组件化(二) 徐飞
Web应用的组件化(二) https://github.com/xufei/blog/issues/7 管控平台 在上一篇中我们提到了组件化的大致思路,这一篇主要讲述在这么做之后,我们需要哪些外围手段 ...
- JDBC增强
JDBC增强 批处理:批量处理sql语句,比如批量添加用户信息. addBatch() //pstmt.addBatch() 就是替换一条一条执行的execute****** executeBat ...
- BoundsChecker使用
转载:http://www.cnitblog.com/qiuyangzh/archive/2005/07/14/975.html 1 前言 我在本文中具体介绍了測试工具NuMega Devpart ...
- 列表的实现-----数据结构与算法JavaScript描述 第三章
实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...
- javascript封装自定义滚动条方法,可自定义四个边框滚动条
还是根据我的个人习惯封装了一个方法 setScroll({ box :父盒子DOM对象, content : 内容盒子DOM对象, scrollall : 滚动条大盒子DOM对象, scroll : ...