请用Java、C#或任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。

 我来答
5555饿的
2017-08-30 · TA获得超过269个赞
知道答主
回答量:71
采纳率:0%
帮助的人:11万
展开全部

这是你的作业,我不能帮你做,但是我可以给你一些思路。(方法太多,我只说一个)

如果是Java,String类有一个方法,是toCharArray(),你先调用这个方法得到这个算式表达式的char数组。然后创建两个StringBuilder,遍历刚刚调用toCharArray()的方法获得数组里的每一个字符,如果找到了+-*/这四个符号则保存,然后继续循环,如果不是,则进入下一个检测,如果是没有检测到符号之前,将数字储存到第一个StringBuilder,如果是在之后,则将数字储存到第二个StringBuilder。最后将他们都调用toString()方法转换为字符串,再转换为数字。然后switch刚刚得到的符号,进行计算。

如果你的确有必要代码,可以追问。

匿名用户
推荐于2018-03-23
展开全部
JAVA代码import java.util.Scanner;public class Compute {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入第一个数:");
double num1 = input.nextDouble();
System.out.print("请输入运算符:");
String operator = input.next();
System.out.print("请输入第二个数:");
double num2 = input.nextDouble();
System.out.println("运算结果为:" + compute(num1, num2, operator));
}

public static double compute(double num1,double num2,String operator){
double number = 0;
if(operator.equals("+")){
number = num1 + num2;
}else if(operator.equals("-")){
number = num1 - num2;
}else if(operator.equals("*")){
number = num1 * num2;
}else if(operator.equals("/")){
if(num2 != 0){
number = num1 / num2;
}else{
System.out.println("除数不能为零!");
}
}else{
System.out.println("运算符错误");
}
return number;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-28
展开全部
import java.util.Scanner; public class Count{ public Count(){
System.out.println("请输入两个数和运算符号:");
while(true){
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int b = scan.nextInt();
String str = scan.next();
if(str.equals("+")){
System.out.println(a+b);
}
else if(str.equals("-"))
System.out.println(a-b);
else if(str.equals("*"))
System.out.println(a*b);
else if(str.equals("/"))
System.out.println(a/b);
else if(str.equals("%")) //取余
System.out.println(a%b);
System.out.print("继续(1):退出(0)");
int YN = scan.nextInt();
if(YN==1) continue;
else break;
}
}
public static void main(String[] args){
Count c = new Count();
}
} //比较简陋,就是个大概的模型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-28
展开全部
写出的程序容易运行我写一个JavaScript献丑了<script>
function foo(operator,left,right){
return left[operator] ? left[operator].apply(left, [].slice.call(arguments,2)) : window[operator] ? window[operator].apply(null, [].slice.call(arguments,1)) : eval([].slice.call(arguments, 1).join(operator))
}
alert(foo('+', 1, 2))
alert(foo('+', 1, 2, 3))function strCp(str, n){
return new Array(n+1).join(str)
}
alert(foo('strCp', 'abc', 5))
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
414370365
2011-08-06 · 超过25用户采纳过TA的回答
知道答主
回答量:177
采纳率:0%
帮助的人:61.2万
展开全部
给你思路和关键代码
//main函数入口
int num1 = 0;
int num2=0;
//依次从控制台接收给两个数赋值
//从控制台接收运算符
char s = '';
//根据运算符判断输入数字的合法性
算出结构 输出

要的话我发给你一个程序 我这有现成的 当时做的一个案例
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式