2016年1月6日水曜日

単位変換するやつ

学校の課題でつくったやつ
コードが汚いのはお察し

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

public class Main extends JFrame implements ActionListener{
       JButton[] button = new JButton[4];
       JTextField field;
       JLabel label,ans;
       JRadioButton[] rButton = new JRadioButton[4];
       ButtonGroup group;
  int rby = 70;
       public Main() {
this.setBounds(100, 100, 400, 300);
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
            this.setLayout(null);
//ボタン宣言
            button[0] = new JButton("KB");
            button[1] = new JButton("MB");
            button[2] = new JButton("GB");
            button[3] = new JButton("TB");

            field = new JTextField(); 
            label = new JLabel("変換する数値の単位を選択してください");    
ans = new JLabel("ここに結果");
//ラジオボタン宣言
            rButton[0] = new JRadioButton("KB",true);
            rButton[1] = new JRadioButton("MB");
            rButton[2] = new JRadioButton("GB");
            rButton[3] = new JRadioButton("TB");
            group = new ButtonGroup();

//ラジオボタンのButtonGroup追加とadd
            for(int i = 0; i < rButton.length; i++) {
group.add( rButton[i] );
this.add( rButton[i] );
rButton[i].addActionListener(this);
            }
this.add(label); this.add(ans);
label.setBounds(rby ,30 ,240 ,15);
ans.setBounds(rby,180,240,15);
//ラジオボタンの位置・大きさ指定
rButton[0].setBounds(rby * 1 ,50 ,50 ,15);
rButton[1].setBounds(rby * 2 ,50 ,50 ,15);
rButton[2].setBounds(rby * 3 ,50 ,50 ,15);
rButton[3].setBounds(rby * 4 ,50 ,50 ,15);

this.add(field);
field.setBounds(70 ,75 ,rby * 4 ,40);
//ボタンのadd
for(int i = 0; i < button.length; i++) {
this.add( button[i] );
button[i].addActionListener(this);
}
//ボタンの位置・大きさ指定
button[0].setBounds(rby * 1 ,130 ,55 ,40);
button[1].setBounds(rby * 2 ,130 ,55 ,40);
button[2].setBounds(rby * 3 ,130 ,55 ,40);
button[3].setBounds(rby * 4 ,130 ,55 ,40);

       }
  
  public void actionPerformed(ActionEvent e) {
double num = 0;
if(rButton[0].isSelected() ){ //kb
if(e.getSource() == button[0] ) {
try{
num = Integer.parseInt( field.getText() );
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[1] ) {
try{
num = Integer.parseInt( field.getText() ) / 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[2] ) {
try{
num = Integer.parseInt( field.getText() ) / 1024.0 / 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[3] ) {
try{
num = Integer.parseInt( field.getText() ) / 1024.0 / 1024.0 / 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
}
if(rButton[1].isSelected() ){ //mb
if(e.getSource() == button[0] ) {
try{
num = Integer.parseInt( field.getText() ) * 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[1] ) {
try{
num = Integer.parseInt( field.getText() );
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[2] ) {
try{
num = Integer.parseInt( field.getText() ) / 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[3] ) {
try{
num = Integer.parseInt( field.getText() ) / 1024.0 / 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
}
if(rButton[2].isSelected() ){ //gb
if(e.getSource() == button[0] ) {
try{
num = Integer.parseInt( field.getText() ) * 1024.0 * 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[1] ) {
try{
num = Integer.parseInt( field.getText() ) * 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[2] ) {
try{
num = Integer.parseInt( field.getText() );
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[3] ) {
try{
num = Integer.parseInt( field.getText() ) / 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
}
if(rButton[3].isSelected() ){ //tb
long lo;
if(e.getSource() == button[0] ) {
try{
lo = Integer.parseInt( field.getText() ) * 1024 * 1024 * 1024;
ans.setText( String.valueOf( lo) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
} }
if(e.getSource() == button[1] ) {
try{
lo = Integer.parseInt( field.getText() ) * 1024 * 1024;
ans.setText( String.valueOf( lo) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[2] ) {
try{
num = Integer.parseInt( field.getText() ) * 1024.0;
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
if(e.getSource() == button[3] ) {
try{
num = Integer.parseInt( field.getText() );
BigDecimal bd = new BigDecimal( String.valueOf(num) );
num = bd.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
ans.setText( String.valueOf(num) );
} catch(NumberFormatException ex) {
ans.setText("数字じゃないものが含まれています");
}
}
}
  }

       public static void main(String[] args) {
            Main m = new Main();
m.setVisible( true ); 
       }
}

0 件のコメント:

コメントを投稿