MyException - 我的异常网
当前位置:我的异常网» J2SE » 求高手将程序改为有输出计算过程的程序,并优化程序

求高手将程序改为有输出计算过程的程序,并优化程序,多谢

www.MyException.Cn  网友分享于:2013-04-29  浏览:3次
【求助】求高手将程序改为有输出计算过程的程序,并优化程序,谢谢!
将下面程序改为有计算过程的程序,比如输入:1+(2*3),输出:=1+6=7.
程序有很多毛病与不足,还请高手给优化,谢谢!

import java.util.Scanner;

public class Buhui {
public int Str = 0;
public int br = 0;

// 追加默认构造器
private Buhui() {

}

public static void main(String[] args) {


Buhui sObject = new Buhui();
Scanner input = new Scanner(System.in);
do {
System.out.println("请输入四则运算式:");
String numberString = input.next().trim();
if (sObject.PanduanShuRu(numberString) == false) {
System.out.println("您输入有误,请正确输入!");
} else {
System.out.println(sObject.PanduanKuohao(numberString));
}
} while (true);
}

// 判断是否正确输入运算方式
private boolean PanduanShuRu(String messString) {
boolean ispass = false;
boolean operationIspass = true;
int ai = 0;
char[] IsString = messString.toCharArray();
int num1 = 0;
int num2 = 0;
for (int i = 0; i < IsString.length; i++) {

if ('(' == IsString[i])
num1++;
if (')' == IsString[i])
num2++;

if ('/' == IsString[i] && IsString[i + 1] == '0')
operationIspass = false;

if (IsString[i] == '+' || IsString[i] == '-' || IsString[i] == '*'
|| IsString[i] == '/')
ai++;

if (i == IsString.length - 1)
if (ai == 0)
num2++;
}
if (operationIspass)
if (num1 == num2)
ispass = true;
return ispass;
}

private String PanduanKuohao(String str) {
String result = str;
char[] numberString = str.toCharArray();
int IndexStart = 0;
int EndStart = 0;
for (int i = 0; i < numberString.length; i++) {
if ('(' == numberString[i]) {

IndexStart = i;
}
if (')' == numberString[i]) {

EndStart = i;

result = result.substring(IndexStart + 1, EndStart);

result = str.substring(0, IndexStart)
+ NoKuohao(result, '*', '/')
+ str.substring(EndStart + 1, str.length());

return PanduanKuohao(result);
}
if (i == numberString.length - 1)
if (EndStart == 0)
break;
}

result = NoKuohao(str, '*', '/');
return result;
}

// 不带括号的四则运算
private String NoKuohao(String operationNumber, char a, char b) {

String mess = operationNumber;
char[] stringOperation = mess.toCharArray();

for (int i = 0; i < stringOperation.length; i++) {

if (stringOperation[i] == a || stringOperation[i] == b) {
if (i != 0) {

double num1 = JieQu1(mess.substring(0, i));

int frontPosition = Str;

double num2 = JieQu2(mess.substring(i + 1,
stringOperation.length));

int backPosition = Str;

String IndexMess = mess.substring(0, i - frontPosition + 1);
String IndexResult = "";

if (IndexMess.indexOf('+') == -1
&& IndexMess.indexOf('*') == -1
&& IndexMess.indexOf('/') == -1
&& IndexMess.lastIndexOf('-') == -1)
IndexMess = "";
if (IndexMess != "")
IndexResult = IndexMess.lastIndexOf('-') == IndexMess
.length() - 1 ? IndexMess.substring(0, i
- frontPosition) : IndexMess;

mess = IndexResult
+ JiSuanString("" + stringOperation[i], num1, num2)
+ mess.substring(i + backPosition + 1);

if (mess.lastIndexOf('-') == 0 && mess.indexOf('+') == -1
&& mess.indexOf('*') == -1
&& mess.indexOf('/') == -1) {
break;
}

return NoKuohao(mess, a, b);// 1+7-5+89/3+4-6*8/2+4-6
} else

文章评论

鲜为人知的编程真相
鲜为人知的编程真相
中美印日四国程序员比较
中美印日四国程序员比较
代码女神横空出世
代码女神横空出世
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
那些争议最大的编程观点
那些争议最大的编程观点
漫画:程序员的工作
漫画:程序员的工作
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
旅行,写作,编程
旅行,写作,编程
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员必看的十大电影
程序员必看的十大电影
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
我是如何打败拖延症的
我是如何打败拖延症的
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
老程序员的下场
老程序员的下场
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
每天工作4小时的程序员
每天工作4小时的程序员
编程语言是女人
编程语言是女人
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
 程序员的样子
程序员的样子
Java程序员必看电影
Java程序员必看电影
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
程序员应该关注的一些事儿
程序员应该关注的一些事儿
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
我的丈夫是个程序员
我的丈夫是个程序员
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员和编码员之间的区别
程序员和编码员之间的区别
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
一个程序员的时间管理
一个程序员的时间管理
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员都该阅读的书
程序员都该阅读的书
如何成为一名黑客
如何成为一名黑客
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有