素粒子の世界で自由に生きる -17ページ目

素粒子の世界で自由に生きる

iphoneアプリのレビューをしていたんですが・・
だんだんandroidアプリ開発の話になってきました。。
さらに、素粒子の話になってきました笑
自分が読み返したくなるブログ記事を書いております♪
ほぼ自己満ですが、ぜひお楽しみください!

えー。今回はやっとボタンが扱えるようになった感じです!!


とりま、キャプチャを音譜

ボタン1からボタン4までそれぞれ押すと対応する画像を呼び出して表示を切り替える処理です。



iphoneアプリ 無料の美学-cori

iphoneアプリ 無料の美学-suzuki



iphoneアプリ 無料の美学-ueto


iphoneアプリ 無料の美学-kuroki


以下、ソース


package android02.test;

import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class AndroidTest02Activity extends Activity {
/** Called when the activity is first created. */

//変数の宣言(各メソッドで使いたいからここで)
TextView view1;
ImageView view2;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//ビューエリアの取得
view1 = (TextView) findViewById(R.id.textView1);
view2 = (ImageView) findViewById(R.id.imageView1);

//ボタンの作成とOnClickListenerのセット
((Button) findViewById(R.id.button1)).setOnClickListener(btn1Listener);
((Button) findViewById(R.id.button2)).setOnClickListener(btn2Listener);
((Button) findViewById(R.id.button3)).setOnClickListener(btn3Listener);
((Button) findViewById(R.id.button4)).setOnClickListener(btn4Listener);

}



/////ここからは各ボタンのOnClickメソッドを作成しています

OnClickListener btn1Listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
view1.setText("ボタン1です");
// DrawTest drawView = new DrawTest(view2);

// ウィンドウに自作のViewをセット
// setContentView(drawView);
// setContentView(R.layout.main);
Resources r = getResources();
Bitmap bitmap = BitmapFactory.decodeResource(r, R.drawable.photo);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
view2.setImageDrawable(drawable);

}

// private void drawImage(ImageView view2, Bitmap bitmap) {
// TODO 自動生成されたメソッド・スタブ
// view2.get
// drawBitmap(bitmap, 0, 0, null);
// }
};

OnClickListener btn2Listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
view1.setText("ボタン2です");
Resources r = getResources();
Bitmap bitmap = BitmapFactory.decodeResource(r, R.drawable.ueto);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
view2.setImageDrawable(drawable);
}
};
OnClickListener btn3Listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
view1.setText("ボタン3です");
Resources r = getResources();
Bitmap bitmap = BitmapFactory.decodeResource(r, R.drawable.sasaki);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
view2.setImageDrawable(drawable);
}
};

OnClickListener btn4Listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
view1.setText("ボタン4です");
Resources r = getResources();
Bitmap bitmap = BitmapFactory.decodeResource(r,
R.drawable.corirakkuma);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
view2.setImageDrawable(drawable);
}
};

}

Double型で取っているので、誤差処理などはしていませんが
これで基本的には動くものになりました。

勉強用なのでかなりごちゃごちゃしたソースになってますねあせる

Integer.persentで取っていたものを
String.valueOfに変えました。

package dentakujisaku;

import java.awt.BorderLayout; //必要なクラスをインポート
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Dentaku extends JFrame implements ActionListener { // publicなclassとしてDentakuを作成

JPanel pane;
JTextField display;
String start = ""; // ここに空白を入れていると、nyuuryoku=Double.valueOf(disp);でdispを読み取ったときに、    が入ってしまい
//int型に変換できなくなってしまう。
String disp = start; // ディスプレイを初期化しておく(しておかないと、nullという文字が入ってしまう。
double nyuuryoku = 0; // 入力数字列
double nyuuryoku2 = 0; // 前回の入力数字列
double answer = 0; // 計算結果
String actioncommand = ""; // 今回の演算コマンド
String syoricommand = ""; // 前回の演算コマンド
int state = 0; // 電卓の状態 0・・初期状態, 1・・syoricommandが行われた状態,

// 2・・+/-,=のどちらかが押された状態

public Dentaku(String s) {
super(s);
pane = new JPanel(new GridLayout(1, 1)); // 結果表示のためのパネル
display = new JTextField(); // 結果表示のためのテキストエリア

// フレームの構成
this.setSize(320, 240);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());

// ボタンなど、画面の構成

this.add(pane); // 結果表示のためのパネルをフレームに組み込む
pane.add(display);// 結果表示のためのテキストエリアをパネルにはめ込んで見えるようにする

display.setHorizontalAlignment(JTextField.RIGHT);// テキストエリアのカーソルを右側に出す
JPanel pane1 = new JPanel(new GridLayout(5, 4));// ボタン配置のためのパネル

String btnface[] = { "+/-", "CL", "AC", "1", "2", "3", "+", "4", "5",
"6", "-", "7", "8", "9", "/", "0", ".", "=", "*" }; // ボタンの表示を作る
String actionCommand[] = { "+/-", "CL", "AC", "1", "2", "3", "+", "4",
"5", "6", "-", "7", "8", "9", "/", "0", ".", "=", "*" };
JLabel dummy = new JLabel();// 無記入のラベルをひとつ作る
pane1.add(dummy);// pane1の1番始めのグリッドを空白にするためにひとつ付け足す
JButton btn;
for (int i = 0; i < btnface.length; i++) {
btn = new JButton(btnface[i]);
btn.addActionListener(this); // ActionListenerをbtn(作成したボタン)にadd(付け加えて)している。これでpublic
// void actionPerformed(ActionEvent
// e) が呼び出されるようになった!
btn.setActionCommand(actionCommand[i]); // actionCommandをセットして、ボタンの中身の判断が出来るようにする。(全部数字でそろえてifで判定できるようにする)
pane1.add(btn);
}

this.add(pane, BorderLayout.NORTH);
this.add(pane1, BorderLayout.CENTER);

pane.setBackground(new Color(00, 00, 00));
this.setVisible(true);
display("0");

}

public void display(String t) {
display.setText(t);

}

public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();// まず、getActionCommandでボタンが押されたとき、そのボタンに設定されているActionCommand(set.ActionCommandで設定している。)をcmdに格納する。

// System.out.println("disp" + disp + " " + "answer" + answer + " "
// + "state" + state);
if (cmd.equals(".")) { // if文を使って何ボタンが押されたかを判定していきます。
if (disp.equals(""))
return;
disp = disp + ".";
display(disp);
return;
} else if (cmd.equals("CL")) {
disp = start;
display("0");
} else if (cmd.equals("AC")) { // ACが押されると全ての状態を初期化する
answer = 0;// 計算結果の初期化
disp = start;// 表示の初期化
nyuuryoku = 0; // 入力数字列
nyuuryoku2 = 0; // 前回の入力数字列
answer = 0; // 計算結果
actioncommand = ""; // 今回の演算コマンド
syoricommand = ""; // 前回の演算コマンド
state = 0; // 電卓の状態

display(String.valueOf(answer));
} else if (cmd.equals("1")) {
disp = disp + "1";
display(disp);
return; // 以下、数字が押されたらそこで戻る設定にする
} else if (cmd.equals("2")) {
disp = disp + "2";
display(disp);
return;
} else if (cmd.equals("3")) {
disp = disp + "3";
display(disp);
return;
} else if (cmd.equals("4")) {
disp = disp + "4";
display(disp);
return;
} else if (cmd.equals("5")) {
disp = disp + "5";
display(disp);
return;
} else if (cmd.equals("6")) {
disp = disp + "6";
display(disp);
return;
} else if (cmd.equals("7")) {
disp = disp + "7";
display(disp);
return;
} else if (cmd.equals("8")) {
disp = disp + "8";
display(disp);
return;
} else if (cmd.equals("9")) {
disp = disp + "9";
display(disp);
return;
} else if (cmd.equals("0")) {
disp = disp + "0";
display(disp);
return;
}
if (state == 2)
disp = String.valueOf(answer);
if (cmd.equals("+")) {
actioncommand = "+";
nyuuryoku = Double.valueOf(disp);
disp = start;

} else if (cmd.equals("-")) {
actioncommand = "-";
nyuuryoku = Double.valueOf(disp);
disp = start;

} else if (cmd.equals("+/-")) {
actioncommand = "+/-";

} else if (cmd.equals("*")) {
actioncommand = "*";
nyuuryoku = Double.valueOf(disp);
disp = start;

} else if (cmd.equals("/")) {
actioncommand = "/";
nyuuryoku = Double.valueOf(disp);
disp = start;

} else if (cmd.equals("=")) {
actioncommand = "=";
nyuuryoku = Double.valueOf(disp);
disp = start;

}

if (syoricommand.equals("+")) {
if (state == 0)
answer = nyuuryoku2;
answer = answer + nyuuryoku;
disp = String.valueOf(answer);
display(disp);
disp = start;
state = 1;

} else if (syoricommand.equals("-")) {
if (state == 0)
answer = nyuuryoku2;
answer = answer - nyuuryoku;
disp = String.valueOf(answer);
display(disp);
disp = start;
state = 1;

} else if (syoricommand.equals("*")) {
if (state == 0)
answer = nyuuryoku2;
answer = answer * nyuuryoku;
disp = String.valueOf(answer);
display(disp);
disp = start;
state = 1;
} else if (syoricommand.equals("/")) {
if (state == 0)
answer = nyuuryoku2;
answer = answer / nyuuryoku;
disp = String.valueOf(answer);
display(disp);
disp = start;
state = 1;
} else if (syoricommand.equals("=")) {
if (state == 0)
answer = nyuuryoku2;
display(String.valueOf(answer));
state = 2;
}
if (actioncommand.equals("="))
state = 2;
else if (actioncommand.equals("+/-")) {
state = 2;
answer = (-1) * answer;
display(String.valueOf(answer));
disp = start;
state = 2;
}

syoricommand = actioncommand;
nyuuryoku2 = nyuuryoku;
// System.out.println("disp" + disp + " " + "answer" + answer + " "
// + "state" + state + "\n");

// TODO 自動生成されたメソッド・スタブ

}

public static void main(String[] args) {
new Dentaku("電卓");

}
}

えー。
前回に引き続きまだ電卓ですw
今回で基本的な機能としては完成しました。

追加した機能としては+ - * / = の5つですが、
処理の仕方が意外とややこしく・・・

かなり時間をかけてしまいました。
具体的には・・・
たとえば、123と入力して - を押した後に 23 と入力します。
その後に = を押すと 100 と表示するようにしないと駄目ですよね?

1つの計算をするのに5つの要素が必要なんですね。
で、 - を押したということを認識するのは簡単ですが、つぎに = のボタンを押したことを認識したときに、前回 - を押しているから - の演算をしないといけないということも覚えておかないといけないわけです。

つまり、前回の処理と今回の処理を合わせて計算がされるわけですね。
その辺りがややこしく・・・
まだ精査してないそのままのコードですが、こうなりました。

package swingsam;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.prefs.BackingStoreException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Calctest extends JFrame implements ActionListener {
 JPanel pane;
 JTextField display;
 String start = ""; // ここに空白を入れていると、nyuuryoku
      // =Integer.parseInt(disp);でdispを読み取ったときに、    が入ってしまうとint型に変換できなくなってしまう。
 String disp = start; // ディスプレイを初期化しておく(しておかないと、nullという文字が入ってしまう。
 int nyuuryoku = 0; // 入力数字列
 int nyuuryoku2 = 0; // 前回の入力数字列
 int answer = 0; // 計算結果
 String actioncommand = ""; // 今回の演算コマンド
 String syoricommand = ""; // 前回の演算コマンド
 int state = 0; // 電卓の状態

 public Calctest(String s) {
  super(s);
  pane = new JPanel(new GridLayout(1, 1)); // 結果表示のためのパネル
  display = new JTextField(); // 結果表示のためのテキストエリア

  // フレームの構成
  this.setSize(320, 240);
  this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  this.setLayout(new BorderLayout());

  // ボタンなど、画面の構成

  this.add(pane); // 結果表示のためのパネルをフレームに組み込む
  pane.add(display);// 結果表示のためのテキストエリアをパネルにはめ込んで見えるようにする

  display.setHorizontalAlignment(JTextField.RIGHT);// テキストエリアのカーソルを右側に出す
  JPanel pane1 = new JPanel(new GridLayout(5, 4));// ボタン配置のためのパネル

  String btnface[] = { "BS", "CL", "AC", "1", "2", "3", "+", "4", "5",
    "6", "-", "7", "8", "9", "/", "0", "=", "+/-", "*" }; // ボタンの表示を作る
  String actionCommand[] = { "BS", "CL", "AC", "1", "2", "3", "+", "4",
    "5", "6", "-", "7", "8", "9", "/", "0", "=", "+/-", "*" };
  JLabel dummy = new JLabel();// 無記入のラベルをひとつ作る
  pane1.add(dummy);// pane1の1番始めのグリッドを空白にするためにひとつ付け足す
  JButton btn;
  for (int i = 0; i < btnface.length; i++) {
   btn = new JButton(btnface[i]);
   btn.addActionListener(this); // ActionListenerをbtn(作成したボタン)にadd(付け加えて)している。これでpublic
           // void actionPerformed(ActionEvent
           // e) が呼び出されるようになった!
   btn.setActionCommand(actionCommand[i]); // actionCommandをセットして、ボタンの中身の判断が出来るようにする。(全部数字でそろえてifで判定できるようにする)
   pane1.add(btn);
  }

  this.add(pane, BorderLayout.NORTH);
  this.add(pane1, BorderLayout.CENTER);

  pane.setBackground(new Color(00, 00, 00));
  this.setVisible(true);
  display("0");

 }

 public void display(String t) {
  display.setText(t);

 }

 public void actionPerformed(ActionEvent e) {
  String cmd = e.getActionCommand();// まず、getActionCommandでボタンが押されたとき、そのボタンに設定されているActionCommand(set.ActionCommandで設定している。)をcmdに格納する。

  if (cmd.equals("BS")) { // if文を使って何ボタンが押されたかを判定していきます。
   if (disp.equals(""))
    return;
   int displength = disp.length();
   // System.out.println("disp1"+disp);
   disp = disp.substring(0, displength - 1);// substringメソッドを使うことで(先頭,終わり)の位置を指定して、文字の長さを変えることが出来る。
   // displength-1では、displength(↑で宣言した、文字列の長さ)から一文字ずらしたものを表示するので、BSを押すと後ろが一文字消えたように表示できる。
   // System.out.println("disp2"+disp);
   display(disp);
   return;
  } else if (cmd.equals("CL")) {
   disp = start;
   display("0");
  } else if (cmd.equals("AC")) { // ACが押されると全ての状態を初期化する
   answer = 0;// 計算結果の初期化
   disp = start;// 表示の初期化
   nyuuryoku = 0; // 入力数字列
   nyuuryoku2 = 0; // 前回の入力数字列
   answer = 0; // 計算結果
   actioncommand = ""; // 今回の演算コマンド
   syoricommand = ""; // 前回の演算コマンド
   state = 0; // 電卓の状態

   display(String.valueOf(answer));
  } else if (cmd.equals("1")) {
   disp = disp + "1";
   display(disp);
   return; // 以下、数字が押されたらそこで戻る設定にする
  } else if (cmd.equals("2")) {
   disp = disp + "2";
   display(disp);
   return;
  } else if (cmd.equals("3")) {
   disp = disp + "3";
   display(disp);
   return;
  } else if (cmd.equals("4")) {
   disp = disp + "4";
   display(disp);
   return;
  } else if (cmd.equals("5")) {
   disp = disp + "5";
   display(disp);
   return;
  } else if (cmd.equals("6")) {
   disp = disp + "6";
   display(disp);
   return;
  } else if (cmd.equals("7")) {
   disp = disp + "7";
   display(disp);
   return;
  } else if (cmd.equals("8")) {
   disp = disp + "8";
   display(disp);
   return;
  } else if (cmd.equals("9")) {
   disp = disp + "9";
   display(disp);
   return;
  } else if (cmd.equals("0")) {
   disp = disp + "0";
   display(disp);
   return;
  } else if (cmd.equals("+")) {
   actioncommand = "+";
   nyuuryoku = Integer.parseInt(disp);
   disp = start;

  } else if (cmd.equals("-")) {
   actioncommand = "-";
   nyuuryoku = Integer.parseInt(disp);
   disp = start;

  } else if (cmd.equals("+/-")) {
   display("+/-");
   disp = start;
  } else if (cmd.equals("*")) {
   actioncommand = "*";
   nyuuryoku = Integer.parseInt(disp);
   disp = start;

  } else if (cmd.equals("/")) {
   actioncommand = "/";
   nyuuryoku = Integer.parseInt(disp);
   disp = start;

  } else if (cmd.equals("=")) {
   actioncommand = "=";
   nyuuryoku = Integer.parseInt(disp);
   disp = start;
  }

  if (syoricommand.equals("+")) {
   if(state==0)
    answer=nyuuryoku2;
   answer = answer + nyuuryoku;
   disp = String.valueOf(answer);
   display(disp);
   disp = start;
   state = 1;

  } else if (syoricommand.equals("-")) {
   if(state==0)
    answer=nyuuryoku2;
   answer = answer - nyuuryoku;
   disp = String.valueOf(answer);
   display(disp);
   disp = start;
   state = 1;

  } else if (syoricommand.equals("+/-")) {
   if(state==0)
    answer=nyuuryoku2;
   display("+/-");
   state = 1;
  } else if (syoricommand.equals("*")) {
   if(state==0)
    answer=nyuuryoku2;
   answer = answer * nyuuryoku;
   disp = String.valueOf(answer);
   display(disp);
   disp = start;
   state = 1;
  } else if (syoricommand.equals("/")) {
   if(state==0)
    answer=nyuuryoku2;
   answer = answer / nyuuryoku;
   disp = String.valueOf(answer);
   display(disp);
   disp = start;
   state = 1;
  } else if (syoricommand.equals("=")) {
   if(state==0)
    answer=nyuuryoku2;
   display(String.valueOf(answer));
   state = 1;
  }

  syoricommand = actioncommand;
  nyuuryoku2 = nyuuryoku;

  // TODO 自動生成されたメソッド・スタブ

 }

 public static void main(String[] args) {
  Calctest frame = new Calctest("電卓");

 }
}

さって、やっと少し電卓らしくなってきました。

ボタンを認識するだけではなく、1,2,3と押すと123と表記されるようにしました。


ポイントは以下のコードの赤文字になっているところ。


String disp;

disp = disp + "1";

display(disp);


このコードで押したボタンの数字を追加していっています。

変数dispと"1"はString型なので、文字列の足し算となります。


dispに1が入っていれば

"1"+"1"となり、11と表示されます。






package swingsam;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.prefs.BackingStoreException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Calctest extends JFrame implements ActionListener {
JPanel pane;
JTextField display;
String start = " ";
String disp = start; //ディスプレイを初期化しておく(しておかないと、nullという文字が入ってしまう。

public Calctest(String s) {
super(s);
pane = new JPanel(new GridLayout(1, 1)); // 結果表示のためのパネル
display = new JTextField(); // 結果表示のためのテキストエリア

// フレームの構成
this.setSize(320, 240);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());

// ボタンなど、画面の構成

this.add(pane); // 結果表示のためのパネルをフレームに組み込む
pane.add(display);// 結果表示のためのテキストエリアをパネルにはめ込んで見えるようにする

display.setHorizontalAlignment(JTextField.RIGHT);// テキストエリアのカーソルを右側に出す
JPanel pane1 = new JPanel(new GridLayout(5, 4));// ボタン配置のためのパネル

String btnface[] = { "BS", "CL", "AC", "1", "2", "3", "+", "4", "5",
"6", "-", "7", "8", "9", "/", "0", "=", "+/-", "*" }; // ボタンの表示を作る
String actionCommand[] = { "BS", "CL", "AC", "1", "2", "3", "+", "4",
"5", "6", "-", "7", "8", "9", "/", "0", "=", "+/-", "*" };
JLabel dummy = new JLabel();// 無記入のラベルをひとつ作る
pane1.add(dummy);// pane1の1番始めのグリッドを空白にするためにひとつ付け足す
JButton btn;
for (int i = 0; i < btnface.length; i++) {
btn = new JButton(btnface[i]);
btn.addActionListener(this); // ActionListenerをbtn(作成したボタン)にadd(付け加えて)している。これでpublic
// void actionPerformed(ActionEvent
// e) が呼び出されるようになった!
btn.setActionCommand(actionCommand[i]); // actionCommandをセットして、ボタンの中身の判断が出来るようにする。(全部数字でそろえてifで判定できるようにする)
pane1.add(btn);
}

this.add(pane, BorderLayout.NORTH);
this.add(pane1, BorderLayout.CENTER);

pane.setBackground(new Color(00, 00, 00));
this.setVisible(true);
display("0");

}

public void display(String t) {
display.setText(t);

}

public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();// まず、getActionCommandでボタンが押されたとき、そのボタンに設定されているActionCommand(set.ActionCommandで設定している。)をcmdに格納する。
if (cmd.equals("BS")) { // if文を使って何ボタンが押されたかを判定していきます。
if (disp.equals(""))
return;
int displength = disp.length();
// System.out.println("disp1"+disp);
disp = disp.substring(0, displength-1);// substringメソッドを使うことで(先頭,終わり)の位置を指定して、文字の長さを変えることが出来る。
//displength-1では、displength(↑で宣言した、文字列の長さ)から一文字ずらしたものを表示するので、BSを押すと後ろが一文字消えたように表示できる。
// System.out.println("disp2"+disp);
display(disp);
return;
} else if (cmd.equals("CL")) {
display("0");
} else if (cmd.equals("AC")) {
disp = start;
display("0");
} else if (cmd.equals("1")) {
disp = disp + "1";
display(disp);
} else if (cmd.equals("2")) {
disp = disp + "2";
display(disp);
} else if (cmd.equals("3")) {
disp = disp + "3";
display(disp);
} else if (cmd.equals("4")) {
disp = disp + "4";
display(disp);
} else if (cmd.equals("5")) {
disp = disp + "5";
display(disp);
} else if (cmd.equals("6")) {
disp = disp + "6";
display(disp);
} else if (cmd.equals("7")) {
disp = disp + "7";
display(disp);
} else if (cmd.equals("8")) {
disp = disp + "8";
display(disp);
} else if (cmd.equals("9")) {
disp = disp + "9";
display(disp);
} else if (cmd.equals("0")) {
disp = disp + "0";
display(disp);
} else if (cmd.equals("+")) {
display("+");
} else if (cmd.equals("-")) {
display("-");
} else if (cmd.equals("+/-")) {
display("+/-");
} else if (cmd.equals("*")) {
display("*");
} else if (cmd.equals("/")) {
display("/");
} else if (cmd.equals("=")) {
display("=");
}

// TODO 自動生成されたメソッド・スタブ

}

public static void main(String[] args) {
Calctest frame = new Calctest("電卓");

}
}