Java活用生活

ログイン

オンライン状況

オンラインユーザー1人
ログインユーザー0人
登録ユーザー2人

カウンタ

COUNTER335482

トピックス

トピックス >> 記事詳細
2020/08/15

電卓(AS)

固定リンク | by:aramaki
電卓(AS)
----------------------------
import flash.events.MouseEvent;

import spark.components.Button;

private var memory:Number=0;
private var op:String='';
private var last_is_op:Boolean=false;

// ボタンをクリックしたとき
private function onClick(event : MouseEvent):void{
var btn:Button=event.target as Button;
var str:String=btn.label;
if(str=="C"){
clear();
return;
}
// 数字ボタンならディスプレイに追加
if(str.match(/[0-9\.]/)){
addNum(str);
return;
}
eval(str);
}

// 値を初期化
private function clear():void{
disp_txt.text="";
memory=0;
op='';
last_is_op=false;
}

// 数値を入力
private function addNum(num_str:String):void{
if(last_is_op) disp_txt.text='';
disp_txt.text+=num_str;
last_is_op=false;
}

// 計算を実行
private function eval(op_new:String):void{
if(last_is_op){
op=op_new;
return;
}
var result:Number;
var val1:Number=memory;
var val2:Number=Number(disp_txt.text);
switch(op){
case '+': 
result=val1+val2; 
break;
case '-':
result=val1-val2;
break;
case '*' :
result=val1*val2;
break;
case '/' :
result=val1/val2;
break;
case '%' :
result=val1%val2;
break;
default :
result=val2;
break;
}
disp_txt.text=String(result);
memory=result;
op=op_new;
last_is_op=true;
}
22:55 | 投票する | 投票数(0)
Copyright © Java活用生活 All Rights Reserved .