做一个java相关的程序:当不停地输入数据当碰到字母exit时,程序结束停止录入,用while循环

题目和部分代码如下/*此程序编写两个整数的算术表达式计算器,要求用户从命令提示符下输入表达式,循环提示,直至用户输入“exit”终止程序。将代码补充完整。程序运行结果如下... 题目和部分代码如下

/*
此程序编写两个整数的算术表达式计算器,要求用户从命令提示符下输入表达式,循环提示,直至用户输入“exit”终止程序。将代码补充完整。
程序运行结果如下:
请输入算术表达式或指令:
3+2
3+2=5
请输入算术表达式或指令:
54*2
54*2=108
请输入算术表达式或指令:
exit
退出系统
【提示:先拆分表达式,得出两个整数和运算符,再进行运算后返回结果。
可用String类中的方法:
比较字符串与指定的对象,public boolean equals(Object anObject)
返回指定索引处的char值,public char charAt(int index)
返回字符串的长度,public int length()
根据给定的正则表达式的匹配来拆分此字符串,public String[] split(String regex),
参数regex用"\\+","\\-","\\*","\\/"。
可用Integer类中的方法:
将字符串参数作为有符号的十进制整数进行分析,public static int parseInt(String s)

*/

import java.util.Scanner;
public class cal
{
public boolean equals(String str exit)
{

}

public static void main(String[] args) throws Exception
{
//a,b用来存储两个整数;len用来存储输入的表达式长度;result用来存储运算结果
int a=0,b=0,len=0,result=0;
String str=null; //str用来存储输入的表达式
String s[]=new String[2]; //数组s[]用来存储拆分表达式后的结果
char c=' '; //c用来存储运算符
System.out.println("请输入算术表达式或指令:");
Scanner scan=new Scanner(System.in);
str=scan.nextLine(); //从键盘上获取用户输入的表达式;

while ( ) //循环条件
{
//将输入的信息拆分出两个整数和运算符,再根据运算符计算结果,并输出

System.out.println("请输入算术表达式或指令:");
str=scan.nextLine();
}
System.out.println("退出系统");
}
}
展开
 我来答
清蛇先明箭藤10
2012-05-01 · TA获得超过1246个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:116万
展开全部
// 这里我对你的程序进行了修改,利用了substring();截取字符串来完成,有什么不懂的就追问
import java.util.Scanner;
public class Main{
public static boolean equals(String str){ //**我们在这里来判断是否退出
if("exit".equals(str.trim())){
System.out.println("退出系统");
System.exit(1);
return false;
}else{
return true;
}
}

public static void main(String[] args) throws Exception{
//a,b用来存储两个整数;len用来存储输入的表达式长度;result用来存储运算结果
int a=0,b=0,len=0,result=0;
String str=null; //str用来存储输入的表达式
String s[]=new String[2]; //数组s[]用来存储拆分表达式后的结果
char c=' '; //c用来存储运算符
System.out.println("请输入算术表达式或指令:");
Scanner scan=new Scanner(System.in);
str=scan.nextLine(); //从键盘上获取用户输入的表达式;
while (equals(str)) //循环条件
{
//将输入的信息拆分出两个整数和运算符,再根据运算符计算结果,并输出
int f = 0; // 0表示+,1表示-,2表示*,3表示/
if(str.indexOf("+")!=-1){ //判断是什么符号
s[0] = str.substring(0,str.indexOf("+"));
s[1] = str.substring(str.indexOf("+")+1);
f = 0;
}else if(str.indexOf("-")!=-1){
s[0] = str.substring(0,str.indexOf("-"));
s[1] = str.substring(str.indexOf("-")+1);
f = 1;
}else if(str.indexOf("*")!=-1){
s[0] = str.substring(0,str.indexOf("*"));
s[1] = str.substring(str.indexOf("*")+1);
f = 2;
}else if(str.indexOf("/")!=-1){
s[0] = str.substring(0,str.indexOf("/"));
s[1] = str.substring(str.indexOf("/")+1);
f = 3;
}
int A=0,B=0; //来接受输入的两个数
A = Integer.parseInt(s[0]);
B = Integer.parseInt(s[1]);
switch(f){
case 0:
System.out.println(A + "+" + B + "=" + (A+B)); break;
case 1:
System.out.println(A + "-" + B + "=" + (A-B)); break;
case 2:
System.out.println(A + "*" + B + "=" + (A*B)); break;
case 3:
try{
System.out.println(A + "/" + B + "=" + (A/B)); break;
}catch(Exception e){
System.out.println("除数不能为0");
}
}
System.out.println("请输入算术表达式或指令:");
str=scan.nextLine();
}
}
}
wode5130
2012-05-01 · TA获得超过638个赞
知道小有建树答主
回答量:423
采纳率:100%
帮助的人:333万
展开全部
第一部分:!str.equals("exit")
第二部分:
char op = 0;
int num1 = null;
int num2 = null;
String[] temp = null;
if(str.indexOf('+')>0) {op = '+'; temp = str.split("\\+");}
else if(str.indexOf('-')>0) {op = '-'; temp = str.split("\\-");}
else if(str.indexOf('*')>0) {op = '*'; temp = str.split("\\*");}
else if(str.indexOf('\\/')) {op = '/'; temp = str.split("\\/");}
num1 = Integer.parseInt(temp[0]);
num2 = Integer.parseInt(temp[1]);
int result = 0;
if(op == '+') {result = num1 + num2;}
else if(op=='-') {result = num1 - num2;}
else if(op == '*') { result = num1 * num2;}
else if(op == '/') {result = num1 / num2;}
System.out.println(num1+""+op+num2+"="+result);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
815916yu
2012-04-28 · TA获得超过200个赞
知道答主
回答量:86
采纳率:0%
帮助的人:26.5万
展开全部
while(str.equals("exit"))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魍魉MIC
2012-04-29 · TA获得超过287个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:272万
展开全部
填写的内容是:

!str.equals("exit");

回答完毕
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9496c3a
2012-04-27
知道答主
回答量:9
采纳率:0%
帮助的人:8392
展开全部
不很会
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式