JavaとC#の比較
C#でJavaAPIを使用(vjs.libを参照に追加して作成)
JavaAppletで公開したビックな計算のアプリケーションVerです〜
 JavaC#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import java.awt.*;
import java.awt.event.*;
import java.math.*;

class BigIntegerFrame
        extends Frame
        implements WindowListener, ActionListener{
    private Button    btRun;   //実行ボタン
    private TextField txtNum1; //左の入力する場所
    private TextField txtNum2; //右の入力する場所
    private Label     lblAns;  //答えを表示させる
    private Choice    chSlt;   //演算子を選択で使用
    private Panel     pl;      //コントロールを配置

    public BigIntegerFrame(){
        setTitle("JavaAPI");
        setSize(500, 150);

        txtNum1 = new TextField();
        txtNum2 = new TextField();
        lblAns  = new Label();
        btRun   = new Button("実行");
        chSlt   = new Choice();
        pl      = new Panel();

        //演算子の登録
        chSlt.add("+");
        chSlt.add("−");
        chSlt.add("×");
        chSlt.add("÷");

        //レイアウトの設定
        setLayout(null);
        pl.setLayout(null);

        //座標の設定
        txtNum1.setBounds(50, 0,  450, 20);
        txtNum2.setBounds(50, 20, 450, 20);
        btRun.setBounds  (50, 40, 450, 20);
        lblAns.setBounds (50, 60, 450, 20);
        chSlt.setBounds  (10, 40, 40,  20);
        pl.setBounds(0, 30 ,500, 100);

        //パネルにコントロールを配置
        pl.add(txtNum1);
        pl.add(txtNum2);
        pl.add(btRun);
        pl.add(lblAns);
        pl.add(chSlt);

        add(pl);  //パネルをアプレットに配置

        btRun.addActionListener(this);
        addWindowListener(this);
    }

    public void windowActivated(WindowEvent e){}
    public void windowClosed(WindowEvent e){}
    public void windowDeactivated(WindowEvent e){}
    public void windowIconified(WindowEvent e){}
    public void windowOpened(WindowEvent e){}
    public void windowDeiconified(WindowEvent e){}

    public void windowClosing(WindowEvent e){
        java.lang.System.exit(0);
    }

    public void actionPerformed(ActionEvent e){
        if(e.getSource() == btRun){
            try{
                BigInteger num1 =
                    new BigInteger
                        (txtNum1.getText());
                BigInteger num2 =
                    new BigInteger
                        (txtNum2.getText());

                switch(chSlt.getSelectedIndex()){
                    case 0:
                        num1 = num1.add(num2);
                        break;
                    case 1:
                        num1 = num1.subtract(num2);
                        break;
                    case 2:
                        num1 = num1.multiply(num2);
                        break;
                    case 3:
                        num1 = num1.divide(num2);
                        break;
                }
                
                String num = "" + num1;
                lblAns.setText(num);
                
                if(num.length() > 64){
                    lblAns.setText
                        ("表示できません");
                }
            }
            catch(java.lang.Exception err){
                lblAns.setText("誤りがあります");
            }
        }
    }

    public static void main(String[] args){
        BigIntegerFrame bif =
            new BigIntegerFrame();
        bif.show();
    }
}
using java.awt;
using java.awt.@event;
using java.math;

class BigIntegerFrame
        : Frame,
        WindowListener, ActionListener{
    private Button    btRun;   //実行ボタン
    private TextField txtNum1; //左の入力する場所
    private TextField txtNum2; //右の入力する場所
    private Label     lblAns;  //答えを表示させる
    private Choice    chSlt;   //演算子を選択で使用
    private Panel     pl;      //コントロールを配置

    public BigIntegerFrame(){
        setTitle("JavaAPI");
        setSize(500, 150);

        txtNum1 = new TextField();
        txtNum2 = new TextField();
        lblAns  = new Label();
        btRun   = new Button("実行");
        chSlt   = new Choice();
        pl      = new Panel();

        //演算子の登録
        chSlt.add("+");
        chSlt.add("−");
        chSlt.add("×");
        chSlt.add("÷");

        //レイアウトの設定
        setLayout(null);
        pl.setLayout(null);

        //座標の設定
        txtNum1.setBounds(50, 0,  450, 20);
        txtNum2.setBounds(50, 20, 450, 20);
        btRun.setBounds  (50, 40, 450, 20);
        lblAns.setBounds (50, 60, 450, 20);
        chSlt.setBounds  (10, 40, 40,  20);
        pl.setBounds(0, 30 ,500, 100);

        //パネルにコントロールを配置
        pl.add(txtNum1);
        pl.add(txtNum2);
        pl.add(btRun);
        pl.add(lblAns);
        pl.add(chSlt);

        add(pl);  //パネルをアプレットに配置

        btRun.addActionListener(this);
        addWindowListener(this);
    }

    public void windowActivated(WindowEvent e){}
    public void windowClosed(WindowEvent e){}
    public void windowDeactivated(WindowEvent e){}
    public void windowIconified(WindowEvent e){}
    public void windowOpened(WindowEvent e){}
    public void windowDeiconified(WindowEvent e){}

    public void windowClosing(WindowEvent e){
        java.lang.System.exit(0);
    }

    public void actionPerformed(ActionEvent e){
        if(e.getSource() == btRun){
            try{
                BigInteger num1 =
                    new BigInteger
                        (txtNum1.getText());
                BigInteger num2 =
                    new BigInteger
                        (txtNum2.getText());

                switch(chSlt.getSelectedIndex()){
                    case 0:
                        num1 = num1.add(num2);
                        break;
                    case 1:
                        num1 = num1.subtract(num2);
                        break;
                    case 2:
                        num1 = num1.multiply(num2);
                        break;
                    case 3:
                        num1 = num1.divide(num2);
                        break;
                }
                
                string num = "" + num1;
                lblAns.setText(num);
                
                if(num.Length > 64){
                    lblAns.setText
                        ("表示できません");
                }
            }
            catch(java.lang.Exception err){
                lblAns.setText("誤りがあります");
            }
        }
    }

    public static void Main(string[] args){
        BigIntegerFrame bif =
            new BigIntegerFrame();
        bif.show();
    }
}
C#でJavaの命令を使うと本当にJavaみたいに見えるですね!
今回は、C#もJavaもできるかぎり同じ表現でプログラムをしているです〜

TOPに戻る   JavaとC#の比較に戻る