オープンアプリを扱える機種に変更したということで、個人的に使いそうなアプリを作成中。作成しているものとしては、簡単な数値計算ができるようなもの。
数値計算する上で、小数はどこかで出てくるものでそれについての簡単なメモ。
1)キー処理などから文字列(str)を取得する
2)double a = Double.parseDouble(str);
3)計算する
Integer.parseInt(str)を少し変えるだけで、取得した文字列を小数化することでできるようです。floatについても同じ。この他にも、sin,cos,tanの値を得る関数もあるようです。
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class suchi extends MIDlet implements CommandListener {
private static Display display;
private static Command exitCmd = new Command("EXIT",Command.EXIT,1);
public suchi() {
display = Display.getDisplay(this);
sc canvas = new sc();
canvas.addCommand(exitCmd);
canvas.setCommandListener(this);
display.setCurrent(canvas);
}
//アプリの開始
public void startApp() {}
//アプリの一時停止
public void pauseApp() {}
//アプリの終了
public void destroyApp(boolean unconditional){}
//exitCmd
public void commandAction(Command c, Displayable s) {
if (c == exitCmd)
notifyDestroyed();
}
}
//suchi_canvas
class sc extends Canvas {
sc() {}
public void paint( Graphics g ) {
//描画
g.setColor( 255, 255, 255 );
g.fillRect( 0, 0, getWidth(), getHeight() );
g.setColor( 255, 0, 0 );
g.drawString("サンプル",0,0,g.LEFT|g.TOP);
g.setColor( 0, 0, 0 );
g.drawString("PI="+Math.PI, 0, 20,g.LEFT|g.TOP);
g.drawString("SIN="+Math.sin((Math.PI)/2), 0, 30,g.LEFT|g.TOP);
g.drawString("COS="+Math.cos(0.0), 0, 40,g.LEFT|g.TOP);
g.drawString("TAN="+Math.tan(0.0), 0, 50,g.LEFT|g.TOP);
}
}
まだ使い方がよくわかないですが、これを実行するとこのようになります。
とりあえず、CDLC1.1を選択すれば小数の計算を実行してくれることがわかりました。上のプログラムでも気になる箇所もあるので、もっと調べてみないといけないです。
ちなみに、CDLC1.0を選択してビルドすると、
シンボル: 変数 PI
場所 : java.lang.Math の クラス
g.drawString("PI="+Math.PI, 0, 20,g.LEFT|g.TOP);
^
などのエラーが発生します。
以上個人的なメモ。
最近のコメント