java做的一整形数据进制转换器
2014-03-18 21:52
302 查看
package lph.school;
import java.awt.FlowLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class HexConverter extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JLabel jl1, jl2, jl3;
JTextField jtf1, jtf2;
JComboBox jcb;
JButton jb1, jb2, jb3;
String s[] = { "二进制", "八进制", "十进制", "十六进制" };
public void init() {
jl1 = new JLabel("请输入数字",JLabel.LEFT);
jl2 = new JLabel("进制");
jl3 = new JLabel("转换后的值",JLabel.LEFT);
jtf1 = new JTextField(15);
jtf2 = new JTextField(30);
jtf1.setAlignmentX(LEFT_ALIGNMENT);
jtf1.setAlignmentY(LEFT_ALIGNMENT);
jtf2.setAlignmentX(LEFT_ALIGNMENT);
jtf2.setAlignmentY(LEFT_ALIGNMENT);
jb1 = new JButton("转换");
jb2 = new JButton("清除");
jb3 = new JButton("退出");
jcb = new JComboBox(s);
JFrame jf = new JFrame("进制转换器");
JPanel jp = new JPanel();
jp.setLayout(new FlowLayout());
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jcb.addActionListener(this);
jp.add(jl1);
jp.add(jtf1);
jp.add(jl2);
jp.add(jcb);
jp.add(jb1);
jp.add(jb2);
jp.add(jb3);
jp.add(jl3);
jp.add(jtf2);
jf.add(jp);
jf.setBounds(new Rectangle(600, 150));
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
jf.setResizable(false);
}
public String test10to16(long number) {
String str2 = "";
long str1[] = new long[100];
int i = 0;
while (number != 0) {
str1[i] = number % 16;
number = (number - str1[i]) / 16;
i++;
}
for (int j = 0; j < i; j++) {
if (str1[j] < 10)
str2 = str1[j] + str2;
if (str1[j] == 10)
str2 = "A" + str2;
if (str1[j] == 11)
str2 = "B" + str2;
if (str1[j] == 12)
str2 = "C" + str2;
if (str1[j] == 13)
str2 = "D" + str2;
if (str1[j] == 14)
str2 = "E" + str2;
if (str1[j] == 15)
str2 = "F" + str2;
}
return str2;
}
public String test10to2(long number) {
String str3 = "";
long str1[] = new long[100];
int i = 0;
while (number != 0) {
str1[i] = number % 2;
number = (number - str1[i]) / 2;
i++;
}
for (int j = 0; j < i; j++) {
str3 = str1[j] + str3;
}
return str3;
}
public String test10to8(long number) {
String str4 = "";
long str1[] = new long[100];
int i = 0;
while (number != 0) {
str1[i] = number % 8;
number = (number - str1[i]) / 8;
i++;
}
for (int j = 0; j < i; j++) {
str4 = str1[j] + str4;
}
return str4;
}
public String test10to10(long number) {
String str5 = "";
long str1[] = new long[100];
int i = 0;
while (number != 0) {
str1[i] = number % 10;
number = (number - str1[i]) / 10;
i++;
}
for (int j = 0; j < i; j++) {
str5 = str1[j] + str5;
}
return str5;
}
public static void main(String[] args) {
HexConverter hc = new HexConverter();
hc.init();
}
@Override
public void actionPerformed(ActionEvent e) {
int index = jcb.getSelectedIndex();
System.out.print(index);
if (e.getSource().equals(jb1) && jcb.getItemAt(index).equals("二进制")) {
String input = jtf1.getText();
long number = Long.parseLong(input);
HexConverter h = new HexConverter();
jtf2.setText(h.test10to2(number));
} else if (e.getSource().equals(jb1)
&& jcb.getItemAt(index).equals("八进制")) {
String input = jtf1.getText();
long number = Long.parseLong(input);
HexConverter h = new HexConverter();
jtf2.setText(h.test10to8(number));
} else if (e.getSource().equals(jb1)
&& jcb.getItemAt(index).equals("十进制")) {
String input = jtf1.getText();
long number = Long.parseLong(input);
HexConverter h = new HexConverter();
jtf2.setText(h.test10to10(number));
}
if (e.getSource().equals(jb1) && jcb.getItemAt(index).equals("十六进制")) {
String input = jtf1.getText();
long number = Long.parseLong(input);
HexConverter h = new HexConverter();
jtf2.setText(h.test10to16(number));
} else if (e.getSource().equals(jb2)) {
jtf1.setText("");
jtf2.setText("");
} else if (e.getSource().equals(jb3)) {
System.exit(0);
}
}
}
import java.awt.FlowLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class HexConverter extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JLabel jl1, jl2, jl3;
JTextField jtf1, jtf2;
JComboBox jcb;
JButton jb1, jb2, jb3;
String s[] = { "二进制", "八进制", "十进制", "十六进制" };
public void init() {
jl1 = new JLabel("请输入数字",JLabel.LEFT);
jl2 = new JLabel("进制");
jl3 = new JLabel("转换后的值",JLabel.LEFT);
jtf1 = new JTextField(15);
jtf2 = new JTextField(30);
jtf1.setAlignmentX(LEFT_ALIGNMENT);
jtf1.setAlignmentY(LEFT_ALIGNMENT);
jtf2.setAlignmentX(LEFT_ALIGNMENT);
jtf2.setAlignmentY(LEFT_ALIGNMENT);
jb1 = new JButton("转换");
jb2 = new JButton("清除");
jb3 = new JButton("退出");
jcb = new JComboBox(s);
JFrame jf = new JFrame("进制转换器");
JPanel jp = new JPanel();
jp.setLayout(new FlowLayout());
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jcb.addActionListener(this);
jp.add(jl1);
jp.add(jtf1);
jp.add(jl2);
jp.add(jcb);
jp.add(jb1);
jp.add(jb2);
jp.add(jb3);
jp.add(jl3);
jp.add(jtf2);
jf.add(jp);
jf.setBounds(new Rectangle(600, 150));
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
jf.setResizable(false);
}
public String test10to16(long number) {
String str2 = "";
long str1[] = new long[100];
int i = 0;
while (number != 0) {
str1[i] = number % 16;
number = (number - str1[i]) / 16;
i++;
}
for (int j = 0; j < i; j++) {
if (str1[j] < 10)
str2 = str1[j] + str2;
if (str1[j] == 10)
str2 = "A" + str2;
if (str1[j] == 11)
str2 = "B" + str2;
if (str1[j] == 12)
str2 = "C" + str2;
if (str1[j] == 13)
str2 = "D" + str2;
if (str1[j] == 14)
str2 = "E" + str2;
if (str1[j] == 15)
str2 = "F" + str2;
}
return str2;
}
public String test10to2(long number) {
String str3 = "";
long str1[] = new long[100];
int i = 0;
while (number != 0) {
str1[i] = number % 2;
number = (number - str1[i]) / 2;
i++;
}
for (int j = 0; j < i; j++) {
str3 = str1[j] + str3;
}
return str3;
}
public String test10to8(long number) {
String str4 = "";
long str1[] = new long[100];
int i = 0;
while (number != 0) {
str1[i] = number % 8;
number = (number - str1[i]) / 8;
i++;
}
for (int j = 0; j < i; j++) {
str4 = str1[j] + str4;
}
return str4;
}
public String test10to10(long number) {
String str5 = "";
long str1[] = new long[100];
int i = 0;
while (number != 0) {
str1[i] = number % 10;
number = (number - str1[i]) / 10;
i++;
}
for (int j = 0; j < i; j++) {
str5 = str1[j] + str5;
}
return str5;
}
public static void main(String[] args) {
HexConverter hc = new HexConverter();
hc.init();
}
@Override
public void actionPerformed(ActionEvent e) {
int index = jcb.getSelectedIndex();
System.out.print(index);
if (e.getSource().equals(jb1) && jcb.getItemAt(index).equals("二进制")) {
String input = jtf1.getText();
long number = Long.parseLong(input);
HexConverter h = new HexConverter();
jtf2.setText(h.test10to2(number));
} else if (e.getSource().equals(jb1)
&& jcb.getItemAt(index).equals("八进制")) {
String input = jtf1.getText();
long number = Long.parseLong(input);
HexConverter h = new HexConverter();
jtf2.setText(h.test10to8(number));
} else if (e.getSource().equals(jb1)
&& jcb.getItemAt(index).equals("十进制")) {
String input = jtf1.getText();
long number = Long.parseLong(input);
HexConverter h = new HexConverter();
jtf2.setText(h.test10to10(number));
}
if (e.getSource().equals(jb1) && jcb.getItemAt(index).equals("十六进制")) {
String input = jtf1.getText();
long number = Long.parseLong(input);
HexConverter h = new HexConverter();
jtf2.setText(h.test10to16(number));
} else if (e.getSource().equals(jb2)) {
jtf1.setText("");
jtf2.setText("");
} else if (e.getSource().equals(jb3)) {
System.exit(0);
}
}
}
相关文章推荐
- barcode EAN13 最后一位验证码
- 《深入浅出 Java Concurrency》目录
- JAVA反射系列之Method,java.lang.reflect.Method的使用。
- spring定时器配置
- 谈谈java中关键字“this”用法
- java排序算法之堆排序
- spring原理
- Java线程中run和start方法的区别
- Java Cache系列之Cache概述和Simple Cache
- java调用webservice的jar包
- struts标签 Ognl表达式 EL表达式 jstl标签
- [Eclipse]自动注释功能
- 深入源码之JDK Logging
- JAVA EE 项目常用知识之 重写和重载 ArrayList、Vector区别
- java的Boolean类方法学习
- Spring MVC和Struts2的比较
- 第四届蓝桥杯决赛题-九宫重排(双向广搜).java
- list,set和Map区别
- JAVA大数类练手
- ant学习---实现Java项目的编译运行