java新手运算代码 java怎么进行运算

JAVA计算器代码p 新手学JAVA 做一个计算器,界面没问题,不能计算求高手指教呵呵这个程序比较有意思:这个是我改java新手运算代码的 。
=============== 代码=============
package org.xhome.leon.canculator;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.regex.Pattern;
import javax.swing.JTextField;
public class Jisuan2 extends Applet implements ActionListener {
Button[] b = new Button[16];
Panel p1 = new Panel();
Panel p2 = new Panel();
TextField T1 = new TextField(15);
char s3 = ' ';
char s5 = ' ';
int a = 0;
int h = 0;
int g = 0;
int x = 0;
String formerInput = "";
String totalInput = "";
public void init() {
setLayout(new BorderLayout());
setFont(new Font("Arial", Font.PLAIN, 20));
add("North", p1);
p1.setBackground(Color.yellow);
p1.add(T1);
add("Center", p2);
p2.setBackground(Color.green);
p2.setForeground(Color.blue);
p2.setLayout(new GridLayout(4, 4, 1, 1));
for (int i = 0; i = 15; i) {
String j = String.valueOf(i);
b[i] = new Button();
p2.add(b[i]);
b[i].setLabel(j);
b[i].addActionListener(this);
}
b[10].setLabel(" ");
b[11].setLabel("-");
b[12].setLabel("*");
b[13].setLabel("/");
b[14].setLabel("=");
b[15].setLabel("ac");
T1.setText("");
T1.setEnabled(false);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(b[15])){
T1.setText("");
formerInput = "";
totalInput = "";
}
else if(e.getSource().equals(b[14])){
String s = T1.getText().trim();
System.out.println(s "tresult");
String op[] = s.split("(\\d .\\d )");
for (int i = 0; iop.length; i) {
System.out.println(op[i]);
}
String nums[] = s.split("[\\ \\-\\/\\*]");
for (int i = 0; inums.length; i) {
System.out.println(nums[i]);
}
if(op.length == nums.length){
double result = Double.parseDouble(nums[0]);
for (int i = 1; iop.length; i) {
result = calculate(op[i], result, Double.parseDouble(nums[i]));
}
Double b = new Double(result);
float f = b.floatValue();
T1.setText(f "");
System.out.println(f "ttt");
formerInput = String.valueOf(f);
totalInput = String.valueOf(f);
}
}
else{
if(formerInput.equals("")){
Button b = (Button) e.getSource();
String s = b.getLabel() ".0";
if(Pattern.matches("(^\\d .\\d )", s)){//如果输入的第一个是数字的话
//System.out.println(s);
totalInput = totalInput.concat(s);
T1.setText(totalInput);
formerInput = s;
}
}
else{
if(Pattern.matches("(^\\d .\\d )", formerInput)){
Button b = (Button) e.getSource();
if(Pattern.matches("\\D", b.getLabel())){
totalInput = totalInput.concat(b.getLabel());
T1.setText(totalInput);
formerInput = b.getLabel();
//System.out.println("forin:" formerInput);
}
}
else{
Button b = (Button) e.getSource();
if(Pattern.matches("(^\\d .\\d )", b.getLabel() ".0")){
totalInput = totalInput.concat(b.getLabel() ".0");
T1.setText(totalInput);
formerInput = b.getLabel() ".0";
}
}
}
}
}
public double calculate(String op,double num1,double num2){
if(op.equals(" ")){
return num1 num2;
}
else if(op.equals("-")){
return num1-num2;
}
else if(op.equals("*")){
return num1*num2;
}
else{
return num1/num2;
}
}
}
ps: 我没用你的判断代码 。这个程序可以执行2个数字运算java新手运算代码,虽然可以输入多个运算,但是不能实现运算符号的优先判断 。如果只是2个数字运算,没有问题 。楼主可以再更改去实现运算符号的优先判断嘛 。
JAVA 编写计算器要代码最简单的学java的时候自己编的,很简单,能够连续输入计算式后进行计算
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**简易计算器,能够进行简单的计算
*
* @see 2008.12.9
*/
public class CalculatorA
implements ActionListener{
private JFrame frame;
private JTextField field;
private JButton[] allButtons;
private JButton clearButton;
//private JButton backButton;
String result="";//保存结果
StringBuilder sb = new StringBuilder();//保存要进行的计算式
int x = 0;//用来判断上一次的事件类型
String str = "123 456-789*0.=/";
ArrayListString arrayList = new ArrayListString();//保存计算式,通过方法进行运算
public CalculatorA(){
frame = new JFrame("我的计算器v1.1");
frame.setLocation(300,300);
field = new JTextField(25);
allButtons = new JButton[16];
for(int i=0;iallButtons.length;i){
allButtons[i]= new JButton(str.substring(i,i 1));
}
clearButton = new JButton("CLEAR");
//backButton = new JButton("——");
init();
setFondAndColor();
addEventHander();
}
public void init(){
frame.setLayout(new BorderLayout());
JPanel northPanel = new JPanel();
JPanel centerPanel = new JPanel();
JPanel southPanel = new JPanel();
northPanel.setLayout(new FlowLayout());
centerPanel.setLayout(new GridLayout(4,4));
southPanel.setLayout(new FlowLayout());
northPanel.add(field);
for(int i=0;iallButtons.length;i){
centerPanel.add(allButtons[i]);
}
southPanel.add(clearButton);
//southPanel.add(backButton);
frame.add(northPanel,BorderLayout.NORTH);
frame.add(centerPanel,BorderLayout.CENTER);
frame.add(southPanel,BorderLayout.SOUTH);
}
//设置输入字体
public void setFondAndColor(){
field.setFont(new Font("宋体",Font.BOLD,24));
field.setBackground(new Color(100,200,200));
field.setForeground(Color.RED);
//设置字体从右起始
field.setHorizontalAlignment(JTextField.RIGHT);
}
public void showMi(){
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void addEventHander(){
for(int i=0;iallButtons.length;i){
allButtons[i].addActionListener(this);
}
clearButton.addActionListener(this);
//backButton.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();//取得当前事件返回的值
if("0123456789.".indexOf(str)!=-1){
if(x == 0){ //当x为0时表示还没有进行输入
result=str;
sb.append(str);
field.setText(str);
x = 1;
}
else if(x == 1){
result = resultstr;
sb.append(str);
field.setText(result);
x = 1;
}
else if(x == 2){
sb.delete(0,sb.length());
result = result str;
sb.append(str);
field.setText(result);
x = 1;
}
else if(x == 3){
result = str;
sb.delete(0,sb.length());
arrayList.clear();
field.setText(str);
sb.append(str);
field.setText(str);
x = 1;
}
else if(x == 4){
result ="";
sb.delete(0,sb.length());
arrayList.clear();
result = str;
sb.append(str);
field.setText(str);
x = 1;
}
else{
result = resultstr;
sb.append(str);
field.setText(result);
x = 1;
}
}
else if(" *-/".indexOf(str)!=-1){
if(x == 0){
field.setText("");
x = 2;
}
else if(x == 1){
result = resultstr;
arrayList.add(sb.toString());
arrayList.add(str);
sb.append(str);
field.setText(result);
x = 2;
}
else if(x == 2){
x = 2;
}
else if(x == 3){
field.setText(result str);
arrayList.add(result);
arrayList.add(str);
result = result str;
x = 2;
}
else if(x == 4){
result ="";
sb.delete(0,sb.length());
arrayList.clear();
x = 2;
}
else{
field.setText(result str);
arrayList.add(result);
arrayList.add(str);
result = result str;
x = 2;
}
}
else if("=".equals(str)){
if(x == 0){
field.setText("0");
arrayList.clear();
result = "0";
x = 3;
}
else if(x == 1){
try{
arrayList.add(sb.toString());
arrayList = getResult(arrayList);
result = arrayList.get(0);
field.setText(result);
【java新手运算代码 java怎么进行运算】arrayList.clear();
x = 3;
}catch(Exception e1){
field.setText("数据格式异常");
x = 0;
}
}
else if(x == 2){
field.setText("数据格式错误.....");
arrayList.clear();
x = 0;
}
else if(x == 3){
field.setText(result);
x = 3;
}
else if(x == 4){
result ="";
sb.delete(0,sb.length());
arrayList.clear();
x = 3;
}
else {
try{
arrayList.add(sb.toString());
arrayList = getResult(arrayList);
result = arrayList.get(0);
field.setText(result);
arrayList.clear();
x = 3;
}catch(Exception e1){
field.setText("数据格式异常");
x = 0;
}
}
}
else if("CLEAR".equals(str)){
arrayList.clear();
field.setText("0");
arrayList.add("0");
x = 4;
}
else{
if(result.length()1){
result = result.substring(0,result.length()-1);
if(sb.length()0){
sb.delete(sb.length()-1,sb.length());
}
else {
sb.delete(0,1);
}
field.setText(result);
x = 5;
}
else{
result = "";
sb.delete(0,sb.length());
arrayList.clear();
field.setText("0");
x = 0;
}
}
}
public static ArrayListString getResult(ArrayListString list){
String res = null;
String[] s = {"/","*","-"," "};
int i=0;
if(list.size()1){
for(;is.length;){
if(s[i].equals("/")){
for(int j=0;jlist.size();j){
if(list.get(j).equals(s[i])){
res = Double.toString(Double.parseDouble(list.get(j-1))/Double.parseDouble(list.get(j 1)));
//本地的数据格式
NumberFormat nf = NumberFormat.getInstance();
res = nf.format(Double.parseDouble(res));
res = getChange(res);
list.set(j-1,res);
list.remove(j);
list.remove(j);
getResult(list);
}
}
i;
}
else if(s[i].equals("*")){
for(int j=0;jlist.size();j){
if(list.get(j).equals(s[i])){
res = Double.toString(Double.parseDouble(list.get(j-1))*Double.parseDouble(list.get(j 1)));
NumberFormat nf = NumberFormat.getInstance();
res = nf.format(Double.parseDouble(res));
res = getChange(res);
list.set(j-1,res);
list.remove(j);
list.remove(j);
getResult(list);
}
}
i;
}
else if(s[i].equals("-")){
for(int j=0;jlist.size();j){
if(list.get(j).equals(s[i])){
res = Double.toString(Double.parseDouble(list.get(j-1))-Double.parseDouble(list.get(j 1)));
NumberFormat nf = NumberFormat.getNumberInstance();
res = nf.format(Double.parseDouble(res));
res = getChange(res);
list.set(j-1,res);
list.remove(j);
list.remove(j);
getResult(list);
}
}
i;
}
else {
for(int j=0;jlist.size();j){
if(list.get(j).equals(s[i])){
res = Double.toString(Double.parseDouble(list.get(j-1)) Double.parseDouble(list.get(j 1)));
NumberFormat nf = NumberFormat.getInstance();
res = nf.format(Double.parseDouble(res));
res = getChange(res);
list.set(j-1,res);
list.remove(j);
list.remove(j);
getResult(list);
}
}
i;
}
}
}
return list;
}
//对数字字符串进行排除不必要符号
public static String getChange(String res){
String s_temp = "";
char[] c = new char[res.length()];
for(int k=0;kc.length;k){
c[k] = res.charAt(k);
}
for(int k=0;kc.length;k){
if((c[k]= '0'c[k]= '9')|| c[k] == '.'){
s_temp= c[k];
}
}
return s_temp;
}
public static void main(String[] args){
new CalculatorA().showMi();
}
}
java新手,求完整的源代码//都是从新手过来java新手运算代码的java新手运算代码,以下代码供参考
//1.
public class BankAccount {
private static String acctnum;
private static double money;
private static void showAcct() {
System.out.println("账号为: "acctnum);
}
private static void showMoney() {
System.out.println("余额为: "money);
}
public BankAccount(String acc, double m) {
this.acctnum = acc;
this.money = m;
}
public static void main(String[] args) {
BankAccount ba = new BankAccount("626600018888", 5000.00);
ba.showAcct();
ba.showMoney();
}
}
//2.
public class Triangle {
private static float a;
private static float b;
private static float c;
public Triangle(float a, float b, float c) {
this.a = a;
this.b = b;
this.c = c;
}
public static boolean judgeTriangle(float a, float b, float c) {
if ((aMath.abs(b - c)abc)
(bMath.abs(a - c)bac)
(cMath.abs(a - b)cab))
return true;
else
return false;
}
public float getCircumference() {
return this.athis.bthis.c;
}
}
//3.
public class TestTriangle {
public static void main(String[] args) {
Triangle t = new Triangle(5.3f,7.8f,9.3f);
if(t.judgeTriangle(5.3f,7.8f,9.3f)){
System.out.print("能够成三角形java新手运算代码 , 周长为: ");
System.out.printf("%9.2f",t.getCircumference());}
else
System.out.println("不能构成三角形");
}
}
用 Java 写一个两个整数相加的程序代码如下:
public class Test {
public static int add(int a,int b){
return a b;
}
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数");
int a = scanner.nextInt();
System.out.println("请输入第二个数");
int b = scanner.nextInt();
System.out.println("和为:" add(a,b));
}
}
扩展资料
运算符
运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面 。
1、赋值运算符
赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方的操作数 。
例如:
1int a = 100;
2、算术运算符
运算符说明:
“ ” 加;“-” 减;“*” 乘 ;“/”除 ; “%” 取余数
3、自增和自减运算符
自增和自减是单目运算符,可以放在操作元之前,也可以放在操作元之后 。操作元必须是一个整型或浮点型变量 。自增、自减运算符的作用是使变量的值增1或减1 。放在操作元前面的自增、自减运算符,会先将变量的值加1或减1 , 然后再使该变量参与表达式的运算 。放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量的值加1或减1 。
例如:
假设a=5
1b=a;//先将a的值加1,然后赋值给b,此时a的值为6,b的值为6
2b=a;//先将a的值赋值给b,再将a的值变为6,此时a的值为6,b的值为5
4、比较运算符
比较运算符属于二元运算符,用于程序中的变量之间 , 变量和自变量之间以及其他类型的信息之间的比较 。比较运算符的运算结果是boolean型 。当运算符对应的关系成立时,运算的结果为true,否则为false 。比较运算符共有6个,通常作为判断的依据用于条件语句中 。
运算符说明:
""比较左方是否大于右方
"" 比较左方是否小于右方
"=="比较左方是否等于右方
" = "比较左方是否大于等于右方
"= "比较左方是否小于等于右方
"!= "比较左方是否不等于右方
参考链接:Java(计算机编程语言)_百度百科
给段最简单的java代码让我新手看一下最简单的java代码肯定就是这个了,如下:
public class MyFirstApp
{
public static void main(String[] args)
{
System.out.print("Hello world");
}
}
“hello world”就是应该是所有学java的新手看的第一个代码了 。如果是零基础的新手朋友们可以来我们的java实验班试听,有免费的试听课程帮助学习java必备基础知识,有助教老师为零基础的人提供个人学习方案,学习完成后有考评团进行专业测试,帮助测评学员是否适合继续学习java,15天内免费帮助来报名体验实验班的新手快速入门java,更好的学习java!
java新手运算代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java怎么进行运算、java新手运算代码的信息别忘了在本站进行查找喔 。

    推荐阅读