public class MyComputer implements ActionListener{
臨夏網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,臨夏網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為臨夏近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的臨夏做網(wǎng)站的公司定做!
private boolean appendnumber = false;
private boolean append = false;
private boolean flag = false;
private String temp1 = null;
private String op1 = null;
private JTextField jtf = new JTextField("0.",28);
public MyComputer(){
init();
}
private void init() {
/*
* 下面都是在畫(huà)計(jì)算機(jī)界面你想看也可以,
* 不看也行,具體計(jì)算在public void
* actionPerformed(ActionEvent e)
* 里
*/
JFrame frame = new JFrame("我的計(jì)算器");
JPanel panelTop = new JPanel();
panelTop.setLayout(new FlowLayout());
panelTop.add(jtf);
JPanel panelBotton = new JPanel();
String[] str = {"BackSpace","CE","C","+",
"7","8","9","-",
"4","5","6","*",
"1","2","3","/",
"0","+/-",".","="};
JButton[] jb = new JButton[str.length];
panelBotton.setLayout(new GridLayout(5,4));
for(int i = 0;i jb.length;i++)
{
jb[i] = new JButton(str[i]);
panelBotton.add(jb[i]);
jb[i].addActionListener(this);
}
frame.add(panelTop,BorderLayout.NORTH);
frame.add(panelBotton);
frame.setSize(400, 400);
frame.setVisible(true);
}
public static void main(String[] args) {
new MyComputer();
}
public void actionPerformed(ActionEvent e) {
String comm = e.getActionCommand();//獲得button里的數(shù)據(jù)
/*
* "0123456789".indexOf(comm)!=-1是判斷button里獲得的數(shù)據(jù)
* 是0---9的情況
*/
if ("0123456789".indexOf(comm)!=-1) {
if(!appendnumber){
jtf.setText(comm);
appendnumber = true;
}else{
jtf.setText(jtf.getText()+comm);
}
}
/*
* 判斷button里獲得的數(shù)據(jù)是加減乘除的情況
*/
if("+-*/".indexOf(comm)!=-1){
//在遇到加減乘除的符號(hào)時(shí)我們先存儲(chǔ)剛輸入的值
temp1 = jtf.getText();
//然后存儲(chǔ)符號(hào)
op1 = comm;
/*
* 然后可以重新輸入數(shù)據(jù)到輸入框,所以這時(shí)候我們
* 不能追加數(shù)據(jù),設(shè)置追加數(shù)據(jù)標(biāo)志為false
*/
appendnumber = false;
}
/*
* 判斷button里獲得的數(shù)據(jù)是等號(hào)的情況
*/
else if("=".equals(comm)) {
if(temp1==null||"".equals(temp1))return;
/*
* 遇到等號(hào)的時(shí)候,我們?nèi)〕鰟偛疟4娴臄?shù)據(jù)和當(dāng)前輸入的數(shù)據(jù)做運(yùn)算
*/
double num1 = Double.parseDouble(temp1);//轉(zhuǎn)化數(shù)據(jù)成double型的
double num2 = Double.parseDouble(jtf.getText());//轉(zhuǎn)化數(shù)據(jù)成double型的
//取出剛才保存的符號(hào)看是加減乘除的那種運(yùn)算
if("+".equals(op1)){
num1+=num2;
}
if("-".equals(op1)){
num1-=num2;
}
if ("*".equals(op1)) {
num1*=num2;
}
if("/".equals(op1)){
num1/=num2;
}
jtf.setText(num1+"");
appendnumber = false;
}
/*
* 判斷button里獲得的數(shù)據(jù)是小數(shù)點(diǎn)的情況
*/
else if (".".equals(comm)) {
if(jtf.getText().indexOf(".")==-1){
append = true;
}
if (append) {
jtf.setText(jtf.getText()+".");
append = false;
appendnumber = true;
}
}
/*
* 判斷button里獲得的數(shù)據(jù)是在數(shù)據(jù)前面加正負(fù)號(hào)的情況
*/
else if ("+/-".equals(comm)) {
if(!flag){
jtf.setText("-"+jtf.getText());
flag = true;
}
else{
String result = jtf.getText().substring(1, jtf.getText().length());
jtf.setText(result);
flag = false;
}
}
/*
* 判斷button里獲得的數(shù)據(jù)是清除輸入框的情況
*/
else if ("C".equals(comm)) {
jtf.setText("0.");
appendnumber = false;
}
/*
* 判斷button里獲得的數(shù)據(jù)是清除輸入框的情況
*/
else if ("CE".equals(comm)) {
jtf.setText("0.");
appendnumber = false;
}
/*
* 判斷button里獲得的數(shù)據(jù)是輸入框的數(shù)據(jù)退一位的情況
*/
else if ("BackSpace".equals(comm)) {
if(jtf.getText()==null||"".equals(jtf.getText()))return;
String result = jtf.getText().substring(0, jtf.getText().length()-1);
jtf.setText(result+"");
appendnumber = true;
}
}
}
很簡(jiǎn)單的東西啊!你們?nèi)シ帜敲炊嗲闆r啊!這個(gè)東西啊一個(gè)人寫(xiě)半個(gè)小時(shí)就OK了,如果你會(huì)寫(xiě)的話,其實(shí)初學(xué)者們別因?yàn)閯e人怎么怎么說(shuō)就嚇倒,其實(shí)這寫(xiě)起來(lái)都沒(méi)多少代碼的,都是些小東西而已。最重要的是你要搞懂來(lái)龍去脈就不難了,別聽(tīng)一些人吹誰(shuí)誰(shuí)牛X這類的,其實(shí)你認(rèn)真的去做,認(rèn)真的去思考,你也不比他們差。
//JAVA編程:四則運(yùn)算(接收用戶輸入的2個(gè)操作數(shù),和運(yùn)算符),計(jì)算之后,輸出結(jié)果~~~~
import java.util.Scanner;
public class 四則運(yùn)算 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("請(qǐng)輸入第一個(gè)數(shù)字:");
int a = sc.nextInt();
System.out.print("請(qǐng)輸入運(yùn)算符號(hào):");
String str = sc.next();
char ch = str.charAt(0);
System.out.print("請(qǐng)輸入第二個(gè)數(shù)字:");
int b = sc.nextInt();
switch(ch)
{
case '+':
System.out.println(a+"+"+ b + "="+(a+b));
break;
case '-':
System.out.println(a+"-"+ b+ "="+(a-b));
break;
case '*':
System.out.println(a+"*"+ b+ "="+(a*b));
break;
case '/':
if(b==0){
System.out.println("被除數(shù)為零,運(yùn)算無(wú)意義!");
break;
}
else {
System.out.println(a+"/"+ b+ " = "+(a/b));
break;
}
default:
System.out.println("運(yùn)算符是無(wú)意義字符!");
break;
}
}
}
望采納~~~~~~~~
新建一個(gè)java類,定義加法的方法。定義方式為聲明兩個(gè)變量,然后相加,賦給第三個(gè)變量,并使用return返回出來(lái)。見(jiàn)下圖所示:
如何使用java實(shí)現(xiàn)加減乘除運(yùn)算
在第一步中的java類中,定義減法的方法。定義方式跟加法類似,只要把加法中的“+”號(hào)修改為“-”,再修改方法名。見(jiàn)下圖所示:
如何使用java實(shí)現(xiàn)加減乘除運(yùn)算
在第一步中的java類中,定義乘法的方法。定義方式為聲明兩變量相乘并賦值,返回的類型不再是int,一般則定義為double。見(jiàn)下圖所示:
如何使用java實(shí)現(xiàn)加減乘除運(yùn)算
在第一步中的java類中,定義除法的方法。與乘法基本一樣。除數(shù)不能為0,所以要進(jìn)行判斷一下。見(jiàn)下圖所示:
如何使用java實(shí)現(xiàn)加減乘除運(yùn)算
最后在main函數(shù)中,實(shí)例化該java類,并通過(guò)實(shí)例化的別名點(diǎn)方法名實(shí)現(xiàn)調(diào)用加減乘除的方法(如:例子中的TestHello test = new TestHello();test.sum(8, 9);),右鍵運(yùn)行控制臺(tái)打印出結(jié)果。見(jiàn)下圖所示:
如何使用java實(shí)現(xiàn)加減乘除運(yùn)算
補(bǔ)充一下:細(xì)心的同學(xué),應(yīng)該注意到通過(guò)實(shí)例化的別名點(diǎn)方法名又賦值給另外一個(gè)變量,這個(gè)也可以省略,直接修改為System.out.println(int sum = test.sum(8, 9));這種方式打印出來(lái)。見(jiàn)下圖所示:
如何使用java實(shí)現(xiàn)加減乘除運(yùn)算
使用java實(shí)現(xiàn)加減乘除已講述完畢,相信你會(huì)成功實(shí)現(xiàn)。另外,所有的方法及結(jié)果展示,如下圖所示:
如何使用java實(shí)現(xiàn)加減乘除運(yùn)算
如何使用java實(shí)現(xiàn)加減乘除運(yùn)算
幫你改好了。現(xiàn)在在前兩個(gè)框輸入數(shù)字之后,點(diǎn)擊加減乘除按鈕之一,label1會(huì)跟著變成加號(hào)或減號(hào)等,并作出正確的計(jì)算,結(jié)果顯示在TextField3中。
添加的地方見(jiàn)注釋~
package tt.thread;
import java.applet.Applet;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class AddSubMulDiv extends Applet implements ActionListener {
Label label1 = new Label("+");
Label label2 = new Label("=");
TextField field1 = new TextField(6);
TextField field2 = new TextField(6);
TextField field3 = new TextField(6);
Button button1 = new Button("add");
Button button2 = new Button("subtract");
Button button3 = new Button("multiply");
Button button4 = new Button("divide");
public void init() {
add(field1);
add(label1);
add(field2);
add(label2);
add(field3);
add(button1);
add(button2);
add(button3);
add(button4);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
String buttonText = ((Button) e.getSource()).getLabel();
System.out.print("按鈕" + buttonText);
if (e.getSource().equals(button1)) { //判斷本次點(diǎn)擊事件點(diǎn)擊的是哪個(gè)按鈕,作出相應(yīng)操作
int x = Integer.parseInt(field1.getText()) + Integer.parseInt(field2.getText());
label1.setText("+"); //修改加減乘除號(hào)的顯示
field3.setText(Integer.toString(x)); //結(jié)果顯示在第三個(gè)文本框
}
if (e.getSource().equals(button2)) {
int y = Integer.parseInt(field1.getText()) - Integer.parseInt(field2.getText()); //點(diǎn)擊減號(hào)的時(shí)候,做減法
label1.setText("-");
field3.setText(Integer.toString(y));
}
if (e.getSource().equals(button3)) {
int z = Integer.parseInt(field1.getText()) * Integer.parseInt(field2.getText());//點(diǎn)擊乘號(hào)的時(shí)候,做乘法
label1.setText("*");
field3.setText(Integer.toString(z));
}
if (e.getSource().equals(button4)) {
int i = Integer.parseInt(field1.getText()) / Integer.parseInt(field2.getText());//點(diǎn)擊除號(hào)的時(shí)候,做除法
label1.setText("/");
field3.setText(Integer.toString(i));
}
}
}
使用BigDecimal并且一定要用String來(lái)夠造。
實(shí)現(xiàn)方法如下:
import java.math.BigDecimal;
/**
* 由于Java的簡(jiǎn)單類型不能夠精確的對(duì)浮點(diǎn)數(shù)進(jìn)行運(yùn)算,這個(gè)工具類提供精
* 確的浮點(diǎn)數(shù)運(yùn)算,包括加減乘除和四舍五入。
*/
public class Arith{
//默認(rèn)除法運(yùn)算精度
private static final int DEF_DIV_SCALE = 10;
//這個(gè)類不能實(shí)例化
private Arith(){
}
/**
* 提供精確的加法運(yùn)算。
* @param v1 被加數(shù)
* @param v2 加數(shù)
* @return 兩個(gè)參數(shù)的和
*/
public static double add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
/**
* 提供精確的減法運(yùn)算。
* @param v1 被減數(shù)
* @param v2 減數(shù)
* @return 兩個(gè)參數(shù)的差
*/
public static double sub(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
/**
* 提供精確的乘法運(yùn)算。
* @param v1 被乘數(shù)
* @param v2 乘數(shù)
* @return 兩個(gè)參數(shù)的積
*/
public static double mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
/**
* 提供(相對(duì))精確的除法運(yùn)算,當(dāng)發(fā)生除不盡的情況時(shí),精確到
* 小數(shù)點(diǎn)以后10位,以后的數(shù)字四舍五入。
* @param v1 被除數(shù)
* @param v2 除數(shù)
* @return 兩個(gè)參數(shù)的商
*/
public static double div(double v1,double v2){
return div(v1,v2,DEF_DIV_SCALE);
}
/**
* 提供(相對(duì))精確的除法運(yùn)算。當(dāng)發(fā)生除不盡的情況時(shí),由scale參數(shù)指
* 定精度,以后的數(shù)字四舍五入。
* @param v1 被除數(shù)
* @param v2 除數(shù)
* @param scale 表示表示需要精確到小數(shù)點(diǎn)以后幾位。
* @return 兩個(gè)參數(shù)的商
*/
public static double div(double v1,double v2,int scale){
if(scale0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 提供精確的小數(shù)位四舍五入處理。
* @param v 需要四舍五入的數(shù)字
* @param scale 小數(shù)點(diǎn)后保留幾位
* @return 四舍五入后的結(jié)果
*/
public static double round(double v,int scale){
if(scale0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
};
分享
本回答由電腦網(wǎng)絡(luò)分類達(dá)人 高德寶認(rèn)證
其他類似問(wèn)題
2009-02-08加減乘除運(yùn)算(Java)14
2010-06-22Java實(shí)現(xiàn)有界面的簡(jiǎn)單的兩個(gè)整數(shù)之間的加減乘除運(yùn)算
2009-09-21myeclipse中java的加減乘除運(yùn)算1
2011-05-27用java編寫(xiě)計(jì)算器,,,要求加減乘除等運(yùn)算。。。1
2011-09-15java中的String型怎么實(shí)現(xiàn)數(shù)學(xué)的加減乘除運(yùn)算?10
更多關(guān)于java簡(jiǎn)單加減乘除的問(wèn)題
為您推薦:
舉報(bào)| 2009-02-24 03:00
#為什么很多走失的孩子無(wú)法找回?#
提問(wèn)者采納
import java.util.Scanner;
class MakeOperation
{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
Count count=new Count();
System.out.print("請(qǐng)輸入你要運(yùn)算的第一個(gè)數(shù):");
count.one=input.next();
System.out.print("請(qǐng)輸入你要進(jìn)行運(yùn)算的運(yùn)算符:");
count.fu=input.next();
System.out.print("請(qǐng)輸入你要運(yùn)算的第二個(gè)數(shù):");
count.two=input.next();
if(count.fu.equals("+")){
count.outcome=Float.parseFloat(count.one)+Float.parseFloat(count.two)+"";
// 將字符串解析為數(shù)字,注意下如果輸入的不是數(shù)字程序會(huì)報(bào)錯(cuò),缺少健壯性代碼 }
System.out.println(count);
}
}
class Count{
String one;
String two;
String fu;
String outcome; // 結(jié)果
public String toString(){
return one+fu+two+"="+outcome;
}
}
下面的代碼修改了Count類里域的部分參數(shù),增加了一個(gè)用于檢查輸入是否正確的類。
import java.util.Scanner;
class MakeOperation
{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
Count count=new Count();
CheckOperation checkOpera=new CheckOperation();
System.out.print("請(qǐng)輸入你要運(yùn)算的第一個(gè)數(shù):");
count.one=checkOpera.checkNum(input);
System.out.print("請(qǐng)輸入你要進(jìn)行運(yùn)算的運(yùn)算符:");
String[] operators={"+","-","*","/"};
count.fu=checkOpera.checkOperator(input,operators);
System.out.print("請(qǐng)輸入你要運(yùn)算的第二個(gè)數(shù):");
count.two=checkOpera.checkNum(input);
if("+".equals(count.fu)){
count.outcome=count.one+count.two;
System.out.println(count);
}
}
}
class Count{
float one;
float two;
String fu;
float outcome; // 結(jié)果
public String toString(){
return one+fu+two+"="+outcome;
}
}
class CheckOperation{
/*驗(yàn)證數(shù)字,輸錯(cuò)了會(huì)提示用戶重新輸入*/
public float checkNum(Scanner input){
float num=0f;
try {
num=Float.parseFloat(input.next());
} catch (NumberFormatException e) {
System.out.print("請(qǐng)輸入正確的數(shù)字: ");
num=checkNum(input); //直至獲取到正確的值
}
return num;
}
/*驗(yàn)證輸入的符號(hào)是否正確*/
public String checkOperator(Scanner input,String[] operators){
String opera=null;
boolean judge=true;
opera=input.next();
for(String operator:operators){
if(operator.equals(opera)) judge=false;
}
if(judge) {
System.out.print("請(qǐng)輸入正確的運(yùn)算符: ");
opera=checkOperator(input,operators);
}
return opera;
}
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("請(qǐng)輸入第一個(gè)數(shù):");
double n1 = sc.nextDouble();
System.out.println("請(qǐng)輸入運(yùn)算符:");
String s = sc.next();
System.out.println("請(qǐng)輸入第二個(gè)數(shù):");
double n2 = sc.nextDouble();
if(s.equals("+")){
System.out.print(n1+"+"+n2+" = "+(n1+n2));
}else if(s.equals("-")){
System.out.print(n1+"+"+n2+" = "+(n1-n2));
}else if(s.equals("*")){
System.out.print(n1+"*"+n2+" = "+(n1*n2));
}else if(s.equals("/")){
if(n2==0){
System.out.println("除數(shù)不能等于0");
}else{
System.out.print(n1+"/"+n2+" = "+(n1/n2));
}
}else{
System.out.println("運(yùn)算符輸入錯(cuò)誤,請(qǐng)重新輸入。");
}
}
本文標(biāo)題:java加減乘除英文代碼 java乘除法代碼
新聞來(lái)源:http://vcdvsql.cn/article20/hejhjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、外貿(mào)網(wǎng)站建設(shè)、做網(wǎng)站、云服務(wù)器、面包屑導(dǎo)航、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)