admin管理员组文章数量:1794759
java 做的简易进制计算器
import javax.swing.*; import java.awt.event.*; import java.awt.*; public class Scale { JFrame f; JPanel [] p=new JPanel[4]; JButton [] c=new JButton[13]; JLabel [] t=new JLabel[2]; JTextField [] tf=new JTextField[2]; String [] bt={"二进制","八进制","十六进制","1","2","3","4","5","6","7","8","9","0"}; public Scale(){ f=new JFrame("进制转换计算器"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(400,400); f.setLayout(new GridLayout(4,1)); p[0]=new JPanel(new GridLayout(1,2)); p[1]=new JPanel(new GridLayout(1,2)); p[2]=new JPanel(new GridLayout(4,3)); p[3]=new JPanel(new GridLayout(1,1)); for(int i=0;i<13;i++) { c[i]=new JButton(bt[i]); } c[0].addActionListener(new Listener1()); c[1].addActionListener(new Listener2()); c[2].addActionListener(new Listener3()); c[3].addActionListener(new Listener4()); c[4].addActionListener(new Listener5()); c[5].addActionListener(new Listener6()); c[6].addActionListener(new Listener7()); c[7].addActionListener(new Listener8()); c[8].addActionListener(new Listener9()); c[9].addActionListener(new Listener10()); c[10].addActionListener(new Listener11()); c[11].addActionListener(new Listener12()); c[12].addActionListener(new Listener13()); t[0]=new JLabel("输入"); t[1]=new JLabel("输出"); tf[0]=new JTextField(); tf[1]=new JTextField(); for(int i=0;i<2;i++) { p[i].add(t[i]); p[i].add(tf[i]); } for(int i=0;i<12;i++) { p[2].add(c[i]); } p[3].add(c[12]); for(int i=0;i<4;i++) { f.add(p[i]); } f.setVisible(true); } public String binary(int num){ String binaryNum=""; int [] arr=new int[32]; int v,j=0; if(num==0) return binaryNum=binaryNum+"0"; else{ for(int i=31;i>=0;i--) { v=num&1; arr[i]=v; num=num>>1; } one:for(int i=0;i<32;i++) { if(arr[i]==0&&arr[i+1]!=0) { j=i+1; break one; } } for(int i=j;i<32;i++ ) { binaryNum=binaryNum+arr[i]; } return binaryNum; } } public String octal(int num){ String octalNum="0"; int [] arr=new int[11]; int v,j=0; if(num==0) return octalNum=octalNum+"0"; else{ for(int i=10;i>=0;i--) { v=num&7; arr[i]=v; num=num>>3; } one:for(int i=0;i<11;i++) { if(arr[i]==0&&arr[i+1]!=0) { j=i+1; break one; } } for(int i=j;i<11;i++ ) { octalNum=octalNum+arr[i]; } return octalNum; } } public String hexadecimal(int num){ String hexadecimalNum="0x"; char [] str={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; int [] arr=new int[8]; int v,j=0; if(num==0) return hexadecimalNum=hexadecimalNum+"0"; else { for(int i=7;i>=0;i--) { v=num&15; arr[i]=v; num=num>>4; } one:for(int i=0;i<8;i++) { if(arr[i]==0&&arr[i+1]!=0) { j=i+1; break one; } } for(int i=j;i<8;i++ ) { hexadecimalNum=hexadecimalNum+str[arr[i]]; } return hexadecimalNum; } } public static void main(String[] args){ new Scale(); } class Listener1 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub int num1 = Integer.parseInt(tf[0].getText().trim()); tf[1].setText(binary(num1)); } } class Listener2 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub int num1=Integer.parseInt(tf[0].getText().trim()); tf[1].setText(octal(num1)); } } class Listener3 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub int num1=Integer.parseInt(tf[0].getText().trim()); tf[1].setText(hexadecimal(num1)); } } class Listener4 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[3]); } } class Listener5 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[4]); } } class Listener6 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[5]); } } class Listener7 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[6]); } } class Listener8 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[7]); } } class Listener9 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[8]); } } class Listener10 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[9]); } } class Listener11 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[10]); } } class Listener12 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[11]); } } class Listener13 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub tf[0].setText(tf[0].getText()+bt[12]); } } }
版权声明:本文标题:java 做的简易进制计算器 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686579809a84032.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论