
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加减乘除运算的程序怎么编等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)