❶ 如何用Servlet創建簡易的Web計算器。
很簡單,你首先在jsp頁面上模擬一個計算器的界面也就是說把數字鍵和運算符都模擬出來,然後
用javascript捕獲每個按鍵的動作,把你所按的鍵的值放到文本框中,按運算鍵的時候進入到servlet
裡面把文本框中的值比如說「1+1=」然後在servlet把幾個運算符分離,得到1 ,+,1,=這樣寫if else 的話你就可以得到結果,把得到的結果放到request中去在轉向到jsp中,大功告成
❷ 網頁版計算器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB計算器</title>
<!---計算器功能模塊-->
<script language="javascript" type="text/javascript" runat="server">
var lingState="beStart"; //當前狀態
var curOper="start"; //當前運算符
var num1=0; //初值
var num2=0; //初值
var subOper=false; // 是否剛剛單擊過運算符
var upOper=false;//運算符的標簽
var tnumber=false;//MR記住顯示框的狀態
var cM=false;//記住M啟動
var xM=false;//記住按M+
var ms=false;//記住是否按MS
var sk=false;
var twonumber=false;
var ss;//保存MS要保存的值
var sb=0;
//數字鍵觸發功能模塊
function number(i)
{
if(subOper ) //表示在此之前剛剛單擊過運算符或者剛剛單擊過等號
{
form.ipt.value=i; //把輸入的值賦給文本框顯示
subOper=false;//輸入數後,點擊了符號
lingState="beInteger";
}
else
{ //表示正在進行或開始一個數字的輸入
if(form.ipt.value=="0")//當文本顯示框為0時,則把剛剛單擊的數值賦給文本框
{
form.ipt.value=i;//當符合條件則把單擊的數值(this.value)賦予給顯示框1
lingState="beInteger";
}
else
form.ipt.value += i;//當文本顯示框不為0,則數值累加顯示文本框
}
if(curOper!="start")//判斷是否單擊過運算符
{
num2=form.ipt.value;
}
// alert("初值num1的值"+num1);
// alert("num2的值"+num2);
//lingState="beStart"; //清除當前狀態
upOper=true;//記住輸入數字 以便下面+號連+運算
tnumber=true;//記住有值
}
/* + - * / */
//結果運算模塊
function sum()
{
if (curOper!="start")//判斷是否單擊按鈕(符號為空
{
switch(curOper)
{
case "+": //判斷符號為+時執行+運算
num1= parseFloat(num1)+parseFloat(num2); //把第一次輸入的值和第二次的值進行運算
break;
case "-": //判斷符號為-時執行+運算
num1= parseFloat(num1)-parseFloat(num2);
break;
case "*": //判斷符號為*時執行+運算
num1= parseFloat(num1)*parseFloat(num2);
break;
case "/": //判斷符號為/時執行+運算
if(num2=="0")
{
alert("除數不能為零");
}
else{
num1= parseFloat(num1)/parseFloat(num2);
}
break;
}
form.ipt.value=num1;//把運算結果賦給顯示框
}
subOper=true;//輸入數後,點擊了符號
//curOper="start"; //清除當前符號狀態
lingState="beStart";//清除當前狀態
upOper=false;//=運算一次後記住 避免再按+號又進行運算 ( 清除當前符號狀態
sk=true;
}
//常規符號運算功能模塊
function allfhao(i)
{
subOper=true;//輸入數後 輸入符號 進行運算
if (curOper=="start")//實現連運算 原理:當運行當前運算符時實現連運算
{
num1=form.ipt.value; //把第一個數賦值給num1
curOper=i; //單擊運算符用變數把運算符記住
tnumber=true;
}
else
{
if(upOper)//當upOper為真時則實現連運算
{
sum();//當符合條件時調用結果運算 實現連運算
}
curOper=i;//單擊運算符用變數把運算符記住
}
upOper=false;//=運算一次後記住 避免再按+號又進行運算 ( 清除當前符號狀態
lingState="beStart";//清除當前狀態
// alert("符號num1的值"+num1);
// alert("num2的值"+num2);
}
//小數點功能模塊
function point()
{
if(form.ipt.value.indexOf(".")==-1) //判斷是否有小數點,如果有就不顯示 如果沒有那麼進行下面的運算
{
if(lingState=="beStart")//如果進行了等號運算 但並沒有小數點 但單擊了小數點則顯示0.幾
{
form.ipt.value="0.";//當符合條件則顯示框1 顯示0.
subOper=false;//輸入數後,點擊了符號
lingState="beFloat"; //讓一個變數記住以輸入小數點
}
if(lingState=="beInteger" )//判斷是否有數輸入,如果有數數輸入但不是接這等號運算則顯示小數點
{
form.ipt.value+=".";//當符合條件則顯示小數點
lingState="beFloat";//用一個變數記住已經輸入一個小數點,當下次輸入由於值的改變則不能輸入,起到只能輸入一個小數點的功能
}
}
}
//全部清除功能模塊 C CE Backspace
function cleaktext(i)
{
switch(i)
{
case"C"://清除C
form.ipt.value="0"; //清除文本框內的內容
lingState="beStart"; //清除當前狀態
curOper="start"; //清除當前符號狀態
subOper=false; // 是否剛剛單擊過運算符
upOper=false;//運算符的標簽
num1=0;
num2=0;
break;
case"CE": //清除CE
form.ipt.value="0"; //清除文本框內的內容
break;
case"Backspace": //推格刪除
if(cM=false)//如果啟動MR那麼不能實現推格功能
{
if(upOper)
{
if (form.ipt.value.length>1)
{
form.ipt.value=form.ipt.value.substring(0,form.ipt.value.length-1); //運用substring取字元串方法將返回一個包含從原始對象中獲得的子字元串的 String 對象。 使用 start 和 end 兩者的較小值作為子字元串的起始點。
}
else
{
form.ipt.value="0";//一個一個刪除
}
}
break;
}
}
}
/* % 1/x sqrt +/- pi */
//全部的特殊符號運算模塊
function alltx(i)
{
switch(i)
{
case "%"://%運算
form.ipt.value=form.ipt.value/100;
num2=form.ipt.value;
break;
case "1/x":
if(form.ipt.value=="0"){
form.ipt.value="除數不能為零。";
}
else {
form.ipt.value=1/form.ipt.value;
num2=form.ipt.value;
}
break;
case "sqrt"://開方
form.ipt.value=Math.sqrt(form.ipt.value); //math對象 開方運算
num2=form.ipt.value;
break;
case "+/-"://+/-運算符 負號運算
if(upOper)//當運行了符號則不能按負號
{
form.ipt.value=0-form.ipt.value;
num2=form.ipt.value;
}
else{
form.ipt.value="0";
}
break;
case "pi":
form.ipt.value="3.1415926";
num2=form.ipt.value;
break;
case "sin":
form.ipt.value=Math.sin(form.ipt.value);
num2=form.ipt.value;
break;
case "cos":
form.ipt.value=Math.sin(form.ipt.value);
num2=form.ipt.value;
break;
case "tan":
form.ipt.value=Math.sin(form.ipt.value);
num2=form.ipt.value;
break;
}
}
//全部M系列功能模塊
function checkallM(i){
switch(i)
{
case"M+"://啟動M系列功能模塊
if(form.ipt.value!="0" && ms==false)
{
form.ipt1.value="M";//在顯示框2顯示M以告知用戶以啟動M系列功能
sm=form.ipt.value;
}
if(form.ipt1.value=="M" && ms!=false)
{
sm=eval(ss+'+'+form.ipt.value);//MR保存的值提取實現M+功能
}
xM=true; //記住單擊過M+ 以便MR操作
break;
case "MS"://啟用M系列功能 啟動記憶功能(記憶上一次計算結果)
ss=form.ipt.value;// 把顯示框結果給SS保存(予以MR提取
if(form.ipt.value=="0")//當顯示框1顯示結果為0時單擊MS時也可以清除顯示框2 M功能
{
form.ipt1.value="";//清除顯示框2 M
}
if(form.ipt.value!="0")
{
form.ipt1.value="M";
}
ms=true; //記住單擊過Ms 以便MR操作 (看是否賦+運算後的值 還是當前值
break;
case "MR"://提取MS保存數值功能
if(xM)//是否單擊m+
{
if(form.ipt1.value=="M" )//當啟動M功能時 MR才能起到保存提取的功能
{
form.ipt.value=sm;//當條件符合 則把MS保存的值 並實現M+功能
}
else if(subOper || tnumber){//沒有啟動M功能 則清除顯示框
form.ipt.value="0";
}
}
// else{ form.ipt.value=ss;}
break;
case "MC": // 清除M顯示框中M系列的功能
form.ipt1.value="";//清空顯示框2的 M功能
xM=false;
ms=false;
break;
}
cM=true;
lingState="beStart";//清除當前狀態
}
//onLoad="setStart()"
</script>
<style type="text/css" >
#c{
width:320px;
height:270px;
border:#666666 5px groove;
background-color:#ECE9D8
}
#ipts{ margin:5px 5px 3px 5px; text-align:right; width:270px}
#s{ margin:7px 5px 6px 5px; height:200px}
.bt{ width:30px; height:30px; background-color:#ECE9D8; border:solid 1px #C8C6B0}
.bt2{width:75px; height:30px; color:#F00; background-color:#ECE9D8; border:solid 1px #C8C6B0;}
.bt3{width:20px; height:20px; text-align:center;}
.wz{ font-size:12px}
</style>
</head>
<body >
<!---隱藏層-->
<div id="s">
<FORM METHOD=POST ACTION="" name="form">
<div id="c">
<table width="98%" height="268" border="0" align="center" cellpadding="0">
<tr>
<td height="19" colspan="7">
<table width="294" border="0" cellpadding="0" cellspacing="0" >
<tr>
<td class="wz" width="12" height="19"></td>
<td class="wz" width="47">編輯(E)</td>
<td class="wz" width="49">查看(V)</td>
<td class="wz" width="186">幫助(H)</td>
</tr>
</table></td></tr>
<tr>
<td height="29" colspan="7">
<div id="ipts">
<input name="ipt" type="text" id="ipts" value="0" size="40" maxlength="20" readonly="readonly" />
</div>
</td></tr>
<!-- ipt1 Backspace CE C -->
<tr>
<td height="38" colspan="7" align="center"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="14%" align="center"><input name="ipt1" type="text" disabled="disabled" class="bt3" size="1" maxlength="0" /></td>
<td width="86%" align="center"><table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center"><input name="button23" type="button" class="bt2" id="button23" style="color:#00F" value="Backspace" onclick="cleaktext(this.value)"/></td>
<td align="center"><input style="color:#00F" name="button21" type="button" class="bt2" id="button20" value="CE" onclick="cleaktext(this.value)"/></td>
<td align="center"><input style="color:#00F" name="button20" type="button" class="bt2" id="button21" value="C" onclick="cleaktext(this.value)"/></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<!-- MC 7 8 9 / sqrt -->
<tr>
<td width="16%" align="center"><table width="99%" height="162" border="0">
<tr>
<td height="35" align="center"><input style="color:#F00" type="button" value="MC" class="bt" onclick="checkallM(this.value)"/></td>
<td width="16%" align="center"><input style="color:#00F" name="button1" type="button" class="bt" id="button1" value="7" onclick="number(this.value)" /></td>
<td width="14%" align="center"><input style="color:#00F" name="button2" type="button" class="bt" id="button2" value="8" onclick="number(this.value)" /></td>
<td width="14%" align="center"><input style="color:#00F" name="button3" type="button" class="bt" id="button3" value="9" onclick="number(this.value)"/></td>
<td width="13%" align="center"><input style="color:#F00" name="button4" type="button" class="bt" id="button4" value="/" onclick="allfhao(this.value)"/></td>
<td width="14%" align="center"><input style="color:#00F" name="button5" type="button" class="bt" id="button5" value="sqrt" onclick="alltx(this.value)"/></td>
<td width="16%" align="center"><input style="color:#00F" name="button24" type="button" class="bt" id="button24" value="sin" onclick="alltx(this.value)"/></td>
</tr>
<!-- MR 4 5 6 * % -->
<tr>
<td width="13%" height="39" align="center"><input style="color:#F00" type="button" value="MR" class="bt" onclick="checkallM(this.value)"/></td>
<td width="16%" align="center"><input style="color:#00F" name="button6" type="button" class="bt" id="button6" value="4" onclick="number(this.value)" /></td>
<td width="14%" align="center"><input style="color:#00F" name="button7" type="button" class="bt" id="button7" value="5" onclick="number(this.value)"/></td>
<td width="14%" align="center"><input style="color:#00F" name="button8" type="button" class="bt" id="button8" value="6" onclick="number(this.value)"/></td>
<td width="13%" align="center"><input style="color:#F00" name="button9" type="button" class="bt" id="button9" value="*" onclick="allfhao(this.value)"/></td>
<td width="14%" align="center"><input style="color:#00F" name="button10" type="button" class="bt" id="button10" value="%" onclick="alltx(this.value)"/></td>
<td width="16%" align="center"><input style="color:#00F" name="button25" type="button" class="bt" id="button25" value="cos" onclick="alltx(this.value)"/></td>
</tr>
<!-- MS 1 2 3 - 1/x -->
<tr>
<td width="13%" height="38" align="center"><input style="color:#F00" type="button" value="MS" class="bt" onclick="checkallM(this.value)" /></td>
<td width="16%" align="center"><input style="color:#00F" name="button11" type="button" class="bt" id="button11" value="1" onclick="number(this.value)"/></td>
<td width="14%" align="center"><input style="color:#00F" name="button12" type="button" class="bt" id="button12" value="2" onclick="number(this.value)"/></td>
<td width="14%" align="center"><input style="color:#00F" name="button13" type="button" class="bt" id="button13" value="3" onclick="number(this.value)"/></td>
<td width="13%" align="center"><input style="color:#F00" name="button14" type="button" class="bt" id="button14" value="-" onclick="allfhao(this.value)"/></td>
<td width="14%" align="center"><input style="color:#00F" name="button15" type="button" class="bt" id="button15" value="1/x" onclick="alltx(this.value)"/></td>
<td width="16%" align="center"><input style="color:#00F" name="button26" type="button" class="bt" id="button26" value="tan" onclick="alltx(this.value)"/></td>
</tr>
<!-- M+ 0 +/- . + = -->
<tr>
<td width="13%" height="38" align="center"><input style="color:#F00" type="button" value="M+" class="bt" onclick="checkallM(this.value)"/></td>
<td width="16%" height="38" align="center"><input style="color:#00F" name="button16" type="button" class="bt" id="button16" value="0" onclick="number(this.value)"/></td>
<td width="14%" height="38" align="center"><input style="color:#00F" name="button17" type="button" class="bt" id="button17" value="+/-" onclick="alltx(this.value)"/></td>
<td width="14%" align="center"><input style="color:#00F" name="button18" type="button" class="bt" id="button18" value="." onclick="point()"/></td>
<td width="13%" align="center"><input style="color:#F00" name="button19" type="button" class="bt" id="button19" value="+" onclick="allfhao(this.value)" /></td>
<td width="14%" align="center"><input style="color:#F00" name="button22" type="button" class="bt" id="button22" value="=" onclick="sum()"/></td>
<td width="16%" align="center"><input style="color:#00F" name="button27" type="button" class="bt" id="button27" value="pi" onclick="alltx(this.value)"/></td>
</tr>
</table>
</td></tr></table>
</div>
</FORM>
</div>
</body>
</html>
❸ 用JAVA應用程序或者Servelet做一個web計算器,比較急!!
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class Jisuanqi extends JFrame implements ActionListener {
Result result = new Result(); //定義text的面板
Number_Key number_key = new Number_Key(); //定義按鈕面板
//當點擊按鈕+、-、*、/時,com = true
boolean com = false;
//當i=0時說明是我們第一次輸入,字元串text不會累加
int i = 0;
//存放text的內容
String text = "";
//存放點擊按鈕+、-、*、/之前的數值
double defbutton = 0;
//+、-、*、/的代號分別為1,2,3,4
int symbol = 0;
//構造函數
Jisuanqi() {
super("WangJiao"); //設定標題
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設定關閉窗體時退出程序
JPanel pane = new JPanel(); //定義主面板
pane.setLayout(new BorderLayout());
setBounds(380,220,30,80); //前兩個參數是在屏幕上顯示的坐標,後兩個是大小
//替換圖標
ImageIcon icon=new ImageIcon(
Jisuanqi.class.getResource("APPLE.GIF")
);
setIconImage(icon.getImage());
pane.add(result, BorderLayout.NORTH);
pane.add(number_key, BorderLayout.CENTER);
pane.add(number_key.equal, BorderLayout.SOUTH);
number_key.one.addActionListener(this); //對1按鈕添加監聽事件
number_key.two.addActionListener(this); //對2按鈕添加監聽事件
number_key.three.addActionListener(this); //對3按鈕添加監聽事件
number_key.four.addActionListener(this); //對4按鈕添加監聽事件
number_key.five.addActionListener(this); //對5按鈕添加監聽事件
number_key.six.addActionListener(this); //對6按鈕添加監聽事件
number_key.seven.addActionListener(this); //對7按鈕添加監聽事件
number_key.eight.addActionListener(this); //對8按鈕添加監聽事件
number_key.nine.addActionListener(this); //對9按鈕添加監聽事件
number_key.zero.addActionListener(this); //對0按鈕添加監聽事件
number_key.ce.addActionListener(this); //對置零按鈕添加監聽事件
number_key.plus.addActionListener(this); //對+按鈕添加監聽事件
number_key.equal.addActionListener(this); //對=按鈕添加監聽事件
number_key.sub.addActionListener(this); //對-按鈕添加監聽事件
number_key.mul.addActionListener(this); //對*按鈕添加監聽事件
number_key.div.addActionListener(this); //對/按鈕添加監聽事件
number_key.point.addActionListener(this); //對.按鈕添加監聽事件
setContentPane(pane);
pack(); //初始化窗體大小為正好盛放所有按鈕
}
//各個按鈕觸發的事件
public void actionPerformed(ActionEvent e) {
/*如果是點擊數字按鈕那麼先要判斷是否在此之前點擊了+、-、*、/、=,如果是那麼com=true
* 如果沒有com= false;或者是否點擊數字鍵,如果是i = 1,如果沒有 i = 0;
**/
if (e.getSource() == number_key.one) {
if (com || i == 0) {
result.text.setText("1");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "1");
}
} else if (e.getSource() == number_key.two) {
if (com || i == 0) {
result.text.setText("2");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "2");
}
} else if (e.getSource() == number_key.three) {
if (com || i == 0) {
result.text.setText("3");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "3");
}
} else if (e.getSource() == number_key.four) {
if (com || i == 0) {
result.text.setText("4");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "4");
}
} else if (e.getSource() == number_key.five) {
if (com || i == 0) {
result.text.setText("5");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "5");
}
} else if (e.getSource() == number_key.six) {
if (com || i == 0) {
result.text.setText("6");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "6");
}
} else if (e.getSource() == number_key.seven) {
if (com || i == 0) {
result.text.setText("7");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "7");
}
} else if (e.getSource() == number_key.eight) {
if (com || i == 0) {
result.text.setText("8");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "8");
}
} else if (e.getSource() == number_key.nine) {
if (com || i == 0) {
result.text.setText("9");
com = false;
i = 1;
} else {
text = result.text.getText();
result.text.setText(text + "9");
}
}
/*對於0這個按鈕有一定的說法,在我的程序里不會出現如00000這樣的情況,我加了判斷條件就是
* 如果text中的數值=0就要判斷在這個數值中是否有.存在?如果有那麼就在原來數值基礎之上添
* 加0;否則保持原來的數值不變
*/
else if (e.getSource() == number_key.zero) { //result.text.getText()是得到text里內容的意思
if (com || i == 0) {
result.text.setText("0");
com = false;
i = 1;
} else {
text = result.text.getText();
if (Float.parseFloat(text) > 0 || Float.parseFloat(text) < 0) { //Float.parseFloat(text)就是類型轉換了,下面都是一樣
result.text.setText(text + "0");
} else {
if (text.trim().indexOf(".") == -1) {
result.text.setText(text);
} else {
result.text.setText(text + "0");
}
}
}
} else if (e.getSource() == number_key.ce) {
result.text.setText("0");
i = 0;
com = true;
}
/*本程序不會讓一個數值中出現2個以上的小數點.具體做法是:判斷是否已經存在.存在就不添加,
* 不存在就添加.
*/
else if (e.getSource() == number_key.point) {
if (com || i == 0) {
result.text.setText("0.");
com = false;
i = 1;
} else {
text = result.text.getText();
if (text.trim().indexOf(".") == -1) {
result.text.setText(text + ".");
} else {
result.text.setText(text);
}
}
} //獲得點擊+之前的數值
else if (e.getSource() == number_key.plus) {
com = true;
i = 0;
defbutton = Double.parseDouble(result.text.getText());
symbol = 1;
} //獲得點擊-之前的數值
else if (e.getSource() == number_key.sub) {
com = true;
i = 0;
defbutton = Double.parseDouble(result.text.getText());
symbol = 2;
} //獲得點擊*之前的數值
else if (e.getSource() == number_key.mul) {
com = true;
i = 0;
defbutton = Double.parseDouble(result.text.getText());
System.out.println(defbutton);
symbol = 3;
} //獲得點擊/之前的數值
else if (e.getSource() == number_key.div) {
com = true;
i = 0;
defbutton = Double.parseDouble(result.text.getText());
symbol = 4;
} else if (e.getSource() == number_key.equal) {
switch (symbol) {
case 1 : //計算加法
{
double ad =
defbutton + Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
text = "";
break;
}
case 2 ://計算減法
{
double ad =
defbutton - Double.parseDouble(result.text.getText());
result.text.setText(String.valueOf(ad));
i = 0;
text = "";
break;
}
case 3 ://計算乘法
{
double ad =
defbutton * Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
text = "";
break;
}
case 4 ://計算除法
{
double ad =
defbutton / Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
text = "";
break;
}
}
System.out.println(com);
}
}
public static void main(String[] args) {
Jisuanqi loveyou = new Jisuanqi();
loveyou.show();
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//計算器數字按鈕定義面板
class Number_Key extends JPanel {
JButton zero = new JButton("0"); //數字鍵0
JButton one = new JButton("1"); //數字鍵1
JButton two = new JButton("2"); //數字鍵2
JButton three = new JButton("3"); //數字鍵3
JButton four = new JButton("4"); //數字鍵4
JButton five = new JButton("5"); //數字鍵5
JButton six = new JButton("6"); //數字鍵6
JButton seven = new JButton("7"); //數字鍵7
JButton eight = new JButton("8"); //數字鍵8
JButton nine = new JButton("9"); //數字鍵9
JButton plus = new JButton("+");
JButton sub = new JButton("-");
JButton mul = new JButton("*");
JButton div = new JButton("/");
JButton equal = new JButton("=");
JButton ce = new JButton("清零"); //置零鍵
JButton point = new JButton(".");
Number_Key() {
setLayout(new GridLayout(4, 4, 1, 1)); //定義布局管理器為網格布局
setBackground(Color.blue); //設置背景顏色
//添加按鈕
add(one);
add(two);
add(three);
add(four);
add(five);
add(six);
add(seven);
add(eight);
add(nine);
add(zero);
add(plus);
add(sub);
add(mul);
add(div);
add(point);
add(equal);
add(ce);
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//計算器顯示結果的窗體
class Result extends JPanel {
//text先是輸入和結果
JTextField text = new JTextField("0");
Result() { //講輸入的數字或得到的結果在text的右邊顯示
text.setHorizontalAlignment(SwingConstants.RIGHT);
text.enable(false); //文本框不能編輯
setLayout(new BorderLayout()); //設定布局管理器邊框布局
add(text, BorderLayout.CENTER); //text放置在窗體的中間
}
}
❹ 基於Web的計算是什麼意思
這是一種基於網路應用的架構類型.
以前應用較多的是C/S模式,即客戶機/伺服器模式,這是一種胖客戶端形式,伺服器端存儲數據,客戶端發送請求,完成大部分的運算.
現在應用較多的是B/S模式,即瀏覽器/伺服器模式,這是一種瘦客戶端模式.客戶端發送請求,運算處理在伺服器進行,然後將結果返回給客戶端.這就是基於WEB計算的主要方式.
❺ 利用visual studio 製作WEB計算器的代碼
socket value when create:668connect to server successsent 589 bytesfd.socket: 668,select return,ret=1now rcv from server ...rcved 381 bytes,type=2 data length=376<?xml version="1.0" encoding="GBK"?>https://xianxl.nc.jx.cn:8443/heartServer/portal.do"</A> heartUDPAddress="xianxl.nc.jx.cn:443" heartcount="4" interval="300" type="1" useproxy="true"/>close socket , resolving data...Resolve data from server success
❻ 求解做一個Web數學計算器
首先,代碼大概看得懂吧!!!
分析設計說明就得自己寫了,說下大體的步驟:
1.首先是用html表格的形式,大概確定計算器的結構(參與運算的數,運算符,以及計算結果按鈕)
參與運算的數由用戶輸入,採用文本輸入,結果使用按鈕計算顯示
運算符包括+、-、*、/.可以用下拉列表實現,也就是<select></select>
<table class="table1">
<tr><td>請輸入第一個數:</td><td><input type="text" name="num1"/></td></tr>
<tr><td>請輸入第二個數:</td><td><input type="text" name="num2"/></td></tr>
<tr>
<td>
<select name="oper">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
</td>
<td ><input type="submit" value="計算" onclick="myCal()"></td></tr>
</table>
2.用javascript實現計算器計算功能
<script type="text/javascript">
function myCal()
{
var num = document.getElementsByTagName("input");
var oper = document.getElementsByTagName("select");
var resultp;
switch(oper[0].value)
{
case "+":
resultp=parseFloat(num[0].value)+parseFloat(num[1].value);
alert(resultp);
break;
case "-":
resultp=parseFloat(num[0].value)-parseFloat(num[1].value);
alert(resultp);
break;
case "*":
resultp=parseFloat(num[0].value)*parseFloat(num[1].value);
alert(resultp);
break;
case "/":
resultp=parseFloat(num[0].value)/parseFloat(num[1].value);
alert(resultp);
break;
default:
break;
}
}
</script>
以上代碼功能為:獲取參與運算的數值、運算符,其中注意類型的轉換(文本轉換為數值型),對不同的運算符採用不同的處理,switch開關語句實現。
3.CSS樣式表的使用
<style type="text/css">
*{margin:0px;padding:0px;}
.table1{width:300px;border:1px solid blue;background:gray;}
</style>
使用了通配符合類選擇器,根據自己的需要修改,包括背景顏色、表格邊框、顏色、寬度等等。
❼ JAVA web中 怎樣調用系統的計算器
寫一個Applet嵌入到頁面中,然後再Applet中調用系統計算器
樓上的,請先弄清前後台代碼再回答問題,你寫在<%%>裡面的java程序在後台執行了,如果後台使用的是window系統的話,你會在你的伺服器上打開一個計算器,如果不是,等著報錯吧
❽ 如何用 java web 做一個小型的計算器
這個。。簡單點jsp+servlet 就行了,jsp把頁面顯示出來,點擊計算後,把數據傳給後台的servlet,處理完數據後把結果再顯示到原JSP頁面上。
LZ是要思路? 還是沒接觸過JSP與servlet
❾ JAVA在WEB上的應用——實現簡易計算器
建立14個按鈕,按鈕的名字都要Command1,設置Index屬性,0~9分別對應數字0~9,10為小數點,11為等號,12~14分別對應+、-、*和/。
2、輸入如下代碼:
Dim Num1, Num2 As Single
Dim StrNum1, StrNum2 As String
Dim FirstNum As Boolean
Dim PointFlag As Boolean
Dim Runsign As Integer
Dim SignFlag As Boolean
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0 To 9
If FirstNum Then
StrNum1 = Str(Index)
FirstNum = False
Else
StrNum1 = LTrim(StrNum1) + LTrim(Str(Index))
End If
Text1.Text = Val(StrNum1)
Case 10
If Not PointFlag Then
If FirstNum Then
StrNum1 = "0."
FirstNum = False
Else
StrNum1 = LTrim(StrNum1) + LTrim(".")
End If
Else
Exit Sub
End If
PointFlag = True
Text1.Text = Val(StrNum1)
Case 12 To 15
FirstNum = True
PointFlag = False
If SignFlag Then
Call Run
Else
SignFlag = True
StrNum2 = StrNum1
StrNum1 = ""
End If
Runsign = Index - 11
Case 11
On Error Resume Next
If Not SignFlag Then
Text1.Text = StrNum1
equal = Val(StrNum1)
FirstNum = True
PointFlag = False
Else
Call Run
SignFlag = False
End If
Case Else
Call ClearData
End Select
End Sub
Private Sub Form_Load()
If App.PrevInstance Then MsgBox "請不要多次運行此程序,謝謝!", vbAbortRetryIgnore: Unload Me
Num1 = 0
Num2 = 0
StrNum1 = ""
StrNum2 = ""
FirstNum = True
PointFlag = False
Runsign = 0
SignFlag = False
End Sub
Sub Run()
On Error Resume Next
Dim equal As Single
Dim equal2 As Double
Num1 = Val(StrNum2)
Num2 = Val(StrNum1)
Select Case Runsign
Case 1
equal = Num1 + Num2
If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then
equal = 0
equal2 = Num1 + Num2
End If
Case 2
equal = Num1 - Num2
If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then
equal = 0
equal2 = Num1 - Num2
End If
Case 3
equal = Num1 * Num2
If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then
equal = 0
equal2 = Num1 * Num2
End If
Case 4
equal = Num1 / Num2
If Num1 >= 65536 Or Num2 >= 65536 Or equal >= 65536 Then
equal = 0
equal2 = Num1 / Num2
End If
End Select
If equal = 0 Then a = equal2 Else a = equal
StrNum2 = Str(a)
StrNum1 = StrNum2
Text1.Text = Val(StrNum2)
End Sub
Sub ClearData()
Num1 = 0
Num2 = 0
StrNum1 = ""
StrNum2 = ""
FirstNum = True
PointFlag = False
Runsign = 0
SignFlag = False
Text1.Text = 0
End Sub