java:编写一个计算器小程序,要求可以做加减乘除运算

java:编写一个计算器小程序,要求可以做加减乘除运算,第1张

import javaxswing;

import javaawt;

import javaawtevent;

public class Calculator extends JFrame implements ActionListener{

private static final long serialVersionUID = 8199443193151152362L;

private JButton bto_s=new JButton("sqrt"),bto_zf=new JButton("+/-"),bto_ce=new JButton("CE"),bto_c=new JButton("C"),bto_7=new JButton("7"),

bto_8=new JButton("8"),bto_9=new JButton("9"),bto_chu=new JButton("/"),bto_4=new JButton("4"),bto_5=new JButton("5"),

bto_6=new JButton("6"),bto_cheng=new JButton(""),bto_1=new JButton("1"),bto_2=new JButton("2"),bto_3=new JButton("3"),

bto_jian=new JButton("-"),bto_0=new JButton("0"),bto_dian=new JButton(""),bto_deng=new JButton("="),bto_jia=new JButton("+");

JButton button[]={bto_s,bto_zf,bto_ce,bto_c,bto_7,bto_8,bto_9,bto_chu,bto_4,bto_5,bto_6,bto_cheng,bto_1,bto_2,bto_3,bto_jian,

bto_0,bto_dian,bto_deng,bto_jia};

private JTextField text_double;// = new JTextField("0");

private String operator = "="; //当前运算的运算符

private boolean firstDigit = true; // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字

private double resultNum = 00; // 计算的中间结果

private boolean operateValidFlag = true; //判断 *** 作是否合法

public Calculator()

{

super("Calculator");

thissetBounds(300, 300, 300, 300);

thissetResizable(false);

thissetBackground(Colororange);

thissetDefaultCloseOperation(EXIT_ON_CLOSE);

thisgetContentPane()setLayout(new BorderLayout());//设置布局

text_double=new JTextField("0",20);//设置文本区

text_doublesetHorizontalAlignment(JTextFieldRIGHT);//设置水平对齐方式未右对齐

thisgetContentPane()add(text_double,BorderLayoutNORTH);//将文本区添加到Content北部

JPanel panel=new JPanel(new GridLayout(5,4));//在内容窗口添加一个网格布局

thisgetContentPane()add(panel);//添加panel面板

for(int i=0;i<buttonlength;i++)//在面板上添加按钮

paneladd(button[i]);

for(int i=0;i<buttonlength;i++)

button[i]addActionListener(this);//为按钮注册

text_doublesetEditable(false);//文本框不可编辑

text_doubleaddActionListener(this);//

thissetVisible(true);

}

public void actionPerformed(ActionEvent e)//

{

String c= egetActionCommand();//返回与此动作相关的命令字符串。

Systemoutprintln("##########command is "+c);

if(cequals("C")){

handleC(); //用户按了“C”键

}

else if (cequals("CE")) // 用户按了"CE"键

{

text_doublesetText("0");

}

else if ("0123456789"indexOf(c) >= 0) // 用户按了数字键或者小数点

{

handleNumber(c); // handlezero(zero);

} else //用户按了运算符键

{

handleOperator(c);

}

}

private void handleC() // 初始化计算器的各种值

{

text_doublesetText("0");

firstDigit = true;

operator = "=";

}

private void handleNumber(String button) {

if (firstDigit)//输入的第一个数字

{

text_doublesetText(button);

} else if ((buttonequals("")) && (text_doublegetText()indexOf("") < 0))//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面

//如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1

{

text_doublesetText(text_doublegetText() + "");

} else if (!buttonequals(""))// 如果输入的不是小数点,则将数字附在结果文本框的后面

{

text_doublesetText(text_doublegetText() + button);

}

// 以后输入的肯定不是第一个数字了

firstDigit = false;

}

private void handleOperator(String button) {

if (operatorequals("/")) {

// 除法运算

// 如果当前结果文本框中的值等于0

if (getNumberFromText() == 00){

// *** 作不合法

operateValidFlag = false;

text_doublesetText("除数不能为零");

} else {

resultNum /= getNumberFromText();

}

} else if (operatorequals("+")){

// 加法运算

resultNum += getNumberFromText();

} else if (operatorequals("-")){

// 减法运算

resultNum -= getNumberFromText();

} else if (operatorequals("")){

// 乘法运算

resultNum = getNumberFromText();

} else if (operatorequals("sqrt")) {

// 平方根运算

if(getNumberFromText()<0){

operateValidFlag = false;

text_doublesetText("被开方数不能为负数");}

else

resultNum = Mathsqrt(resultNum);

}

else if (operatorequals("+/-")){

// 正数负数运算

resultNum = resultNum (-1);

} else if (operatorequals("=")){

// 赋值运算

resultNum = getNumberFromText();

}

if (operateValidFlag) {

// 双精度浮点数的运算

long t1;

double t2;

t1 = (long) resultNum;

t2 = resultNum - t1;

if (t2 == 0) {

text_doublesetText(StringvalueOf(t1));

} else {

text_doublesetText(StringvalueOf(resultNum));

}

}

operator = button; //运算符等于用户按的按钮

firstDigit = true;

operateValidFlag = true;

}

private double getNumberFromText() //从结果的文本框获取数字

{

double result = 0;

try {

result = DoublevalueOf(text_doublegetText())doubleValue(); // ValueOf()返回表示指定的 double 值的 Double 实例

} catch (NumberFormatException e){

}

return result;

}

public static void main(final String[] args) {

new Calculator();

}

}

public class Test {

public static void main (String[] args)

{

long result = 1;

for (int i = 1; i <= 10; i++)

{

result = i;

Systemoutprintln(result);

}

}

}

屏输出:

1

2

6

24

120

720

5040

40320

362880

3628800

//JAVA编程:四则运算(接收用户输入的2个 *** 作数,和运算符),计算之后,输出结果~~~~\x0d\importjavautilScanner;\x0d\publicclass四则运算{\x0d\publicstaticvoidmain(String[]args){\x0d\Scannersc=newScanner(Systemin);\x0d\Systemoutprint("请输入第一个数字:");\x0d\inta=scnextInt();\x0d\Systemoutprint("请输入运算符号:");\x0d\Stringstr=scnext();\x0d\charch=strcharAt(0);\x0d\Systemoutprint("请输入第二个数字:");\x0d\intb=scnextInt();\x0d\switch(ch)\x0d\{\x0d\case'+':\x0d\Systemoutprintln(a+"+"+b+"="+(a+b));\x0d\break;\x0d\case'-':\x0d\Systemoutprintln(a+"-"+b+"="+(a-b));\x0d\break;\x0d\case'':\x0d\Systemoutprintln(a+""+b+"="+(ab));\x0d\break;\x0d\case'/':\x0d\if(b==0){\x0d\Systemoutprintln("被除数为零,运算无意义!");\x0d\break;\x0d\}\x0d\else{\x0d\Systemoutprintln(a+"/"+b+"="+(a/b));\x0d\break;\x0d\}\x0d\default:\x0d\Systemoutprintln("运算符是无意义字符!");\x0d\break;\x0d\}\x0d\}\x0d\}\x0d\\x0d\望采纳~~~~~~~~

1

//10以内所有自然数相乘

package javaapplication1;

public class Multiply {

public static void main(String[] args ){

int i,j;

for(i=1;i<10;i++)

{for(j=1;j<=i;j++)

{ Systemoutprintf("%d%d=%-4d",i,j,ij);

}Systemoutprintf("\n");

}

}

}

2

//100以内所有自然数

package javaapplication1;

public class Naturalnumber {

public static void main(String[] args ){

int i,k=0;

for(i=0;i<100;i++)

{

k++;

Systemoutprintf("%-4d",i);

if(k%10==0) //控制每行输出10个自然数

Systemoutprintf("\n");

}

}

}

import javaioBufferedReader;

import javaioIOException;

import javaioInputStreamReader;

/

  Created by Administrator on 2014/12/18

 /

public class Test {

    private static int fact(int x) {

        if (x == 0) {

            return 1;

        } else {

            return x  fact(x - 1);

        }

    }

    public static void main(String[] args) throws IOException {

        Systemoutprintln("1输入名字");

        Systemoutprintln("2计算阶乘");

        Systemoutprintln("3退出程序");

        BufferedReader br = new BufferedReader(new InputStreamReader(Systemin));

        int i = new Integer(brreadLine())intValue();

        switch (i) {

            case 1:

                BufferedReader br1 = new BufferedReader(new InputStreamReader(Systemin));

                Systemoutprintln("请输入你的名字:");

                String str = br1readLine();

                Systemoutprintln(str);

                break;

            case 2:

                BufferedReader br2 = new BufferedReader(new InputStreamReader(Systemin));

                Systemoutprintln("请输入一个大于等于0的数:");

                int result = new Integer(br2readLine())intValue();

                Systemoutprintln(fact(result));

                break;

            case 3:

                Systemexit(0);

        }

    }

}

不会是gui吧?

以上就是关于java:编写一个计算器小程序,要求可以做加减乘除运算全部的内容,包括:java:编写一个计算器小程序,要求可以做加减乘除运算、java题目 编写一个应用程序,计算1~10之间各个整数的阶乘,并将结果输出到屏、java加减乘除运算的程序怎么编等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10639896.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存