十,二,八,十六进制转换

上传人:kms****20 文档编号:41294456 上传时间:2018-05-29 格式:DOCX 页数:7 大小:18.73KB
返回 下载 相关 举报
十,二,八,十六进制转换_第1页
第1页 / 共7页
十,二,八,十六进制转换_第2页
第2页 / 共7页
十,二,八,十六进制转换_第3页
第3页 / 共7页
十,二,八,十六进制转换_第4页
第4页 / 共7页
十,二,八,十六进制转换_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《十,二,八,十六进制转换》由会员分享,可在线阅读,更多相关《十,二,八,十六进制转换(7页珍藏版)》请在金锄头文库上搜索。

1、/QQ:523021486 /制作人:samll Kimport java.awt.*; import java.awt.event.*;import javax.swing.*; public class HomeWork extends JFrame /* 文件结构:* 1.成员变量* 2.构造方法* 3.主方法* 4.内部类-文本框的监听器* 5.内部类-按钮的监听器*/private JLabel aName,bName;/第一行标签 private JTextField jtf1,jtf2;private JLabel label1,label2;/第二行标签 private JTe

2、xtField jnum1,jnum2;private JButton button;/转换按钮 private JLabel worry;/提示信息 private int StartSize;/原来的进制 private int FinalSize;/转换的进制 private static final int Copy =74,97,118,97,52,29677, 32, 26446, 29788, 30340, 20316, 21697 ;/请勿修改上面这一行的数据 public HomeWork() aName = new JLabel(“进制转为“); bName = new J

3、Label(“进制“); jtf1 = new JTextField(5); jtf2 = new JTextField(5); jtf2.setText(“10“);label1 = new JLabel(“请输入一个整数:“); label2 = new JLabel(“结果为:“);jnum1 = new JTextField(10);/转换前的输入框 /jnum1.addFocusListener(new );jnum2 = new JTextField(14);/结果 jnum2.setEditable(false);button = new JButton(“转换“);button

4、.addActionListener(new MyActionListener(); button.setEnabled(false);worry = new JLabel();Toolkit tk = getToolkit(); Dimension dm = tk.getScreenSize();Container con = getContentPane(); con.setLayout(new FlowLayout(); con.add(jtf1); con.add(aName); con.add(jtf2); con.add(bName); con.add(label1); con.a

5、dd(jnum1); con.add(label2); con.add(jnum2); con.add(worry); con.add(button); jtf1.addFocusListener(new MyFocusListener(); jtf2.addFocusListener(new MyFocusListener(); jnum1.addKeyListener(new KeyAdapter() public void keyReleased(KeyEvent arg0)/防止输入的数字大于进制要求的数字 StartSize = Integer.parseInt(jtf1.getTe

6、xt();/初始化开始进制 FinalSize = Integer.parseInt(jtf2.getText();/初始化结束进制 String temps = jnum1.getText().toUpperCase();/输入框的临时信息 jnum1.setText(temps);int templeanth = temps.length();/信息的长度 if(StartSizetempint)/输入框中的数字不在范围 button.setEnabled(false); jnum1.setText(null); jnum1.grabFocus();worry.setText(“输入的数字

7、不合法或者不在范围“); else button.setEnabled(true); worry.setText(null); else for (int i = 0; i StartSize + 54)/进制加上 54 正好就是十六进 制的字母 button.setEnabled(false); jnum1.setText(null); jnum1.grabFocus();worry.setText(“输入的数字不合法或者不在范围“); else button.setEnabled(true); worry.setText(null); ); setResizable(false); set

8、Size(250, 180); setLocation(dm.width/2-125, dm.height/2-90); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); public static void main(String args) String s=“; for (int i = 0; i 16) worry.setText(“进制的转换范围只能在 216 之间“); jtf.setText(null); jtf.grabFocus(); else worry.setText(null); catch(Excep

9、tion e) worry.setText(“进制的转换范围只能在 216 之间“); jtf.setText(null); jtf.grabFocus(); class MyActionListener implements ActionListener/按钮事件 public void actionPerformed(ActionEvent arg0) String s = jnum1.getText();/表示输入的数字 int length = s.length();/表示输入数字的长度 double finalnum = 0;if(StartSize10)/当前进制大于 10 就是说

10、 数字中存在字母 finalnum = 0; for(int i=0;i=48/存放余数 int shang = finaln; /存放商 String temps = “;/存放临时的答案 String Temp = “A“,“B“,“C“,“D“,“E“,“F“;/存放 1015 的字符 do finaln = shang;/如果循环多次 上次循环的商为这次的被除数 yushu = finaln%FinalSize; shang = finaln/FinalSize; /System.out.println(yushu);/System.out.println(shang + “); if

11、(yushu=10)/余数大于 10 的要转换为字母 temps = Tempyushu - 10 + temps;else/余数不大于 10 直接就是本身 temps = yushu + temps; if(shang=10 jnum2.setText(temps); if(FinalSize=FinalSize); int sum = 0; for (int j = 0; j Copy.length; j+) sum += Copyj; if(sum = 158734)/标题栏的信息是否正确 jnum2.setText(temps); else JOptionPane.showMessageDialog(null, “Java 文件已经非法修改“);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号