Java进制转换程序的问题分解,类与对象的关系

(1)分析找出问题域中的对象,并将对象归类,注意筛选掉不必要的对象或类。
(2)确定类的属性。
(3)确定对象之间的关系,包括依赖、泛化、关联、实现等等。

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

public class BinaryJFrame extends JFrame implements CaretListener
{
     private JTextField texts[];

     public BinaryJFrame()
     {
         super("十进制整数转换");       
         this.setBounds(300,240,440,140);
         this.setResizable(false);
         this.setBackground(Color.lightGray);
         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
         this.getContentPane().setLayout(new FlowLayout(FlowLayout.RIGHT));
        
         String labelstr[]={"十进制","二进制","八进制","十六进制"};
         texts = new JTextField[labelstr.length];
         for (int i=0; i<texts.length; i++)
         {
             this.getContentPane().add(new JLabel(labelstr[i]));
             texts[i] = new JTextField(32);
             texts[i].setEditable(false);
             this.getContentPane().add(texts[i]);
         }
         texts[0].setEditable(true);
         texts[0].setText("-1");
         texts[0].addCaretListener(this);                    //注册文本编辑事件监听器
         this.caretUpdate(null);
         this.setVisible(true);
     }

     public void caretUpdate(CaretEvent e)                   //文本编辑事件处理方法
     {
         try
         {
             int i = Integer.parseInt(texts[0].getText());
             texts[1].setText(Integer.toBinaryString(i));    //二进制
             texts[2].setText(Integer.toOctalString(i));     //八进制
             texts[3].setText(Integer.toHexString(i));       //十六进制
//或
//             texts[2].setText(String.format("%o", i));     //八进制
//             texts[3].setText(String.format("%x", i));     //十六进制
         }
         catch(NumberFormatException nfe)
         {
             JOptionPane.showMessageDialog(this,"/""+texts[0].getText()+"/"不能转换,请重新输入!");
         }
         finally{}
     }

     public static void main(String arg[])
     {
         new BinaryJFrame();
     }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值