您的位置:首页 > 编程语言 > Java开发

JAVA实现计算器控制台程序

2012-03-26 11:29 411 查看
有两种方式可以实现,一种是利用Scanner,另一种是利用BufferedReader

package first;

//import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Operation {

/**
* @param args
*/
public static Double Operate(double numberA,double numberB,char opera){
double result=0;
switch(opera){
case '+':
result=numberA+numberB;
break;
case '-':
result=numberA-numberB;
break;
case '*':
result=numberA*numberB;
break;
case '/':
if(numberB==0){
System.out.println("除数不能为零");
System.exit(0);
}
else{
result=numberA/numberB;
break;
}
}
return result;
}

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
double numberA = 0d;
double numberB = 0d;
char[] ch = new char[3];
char opre='0';
System.out.println("输入参数及运算符:");

//      Scanner sc = new Scanner(System.in);
//      sc.useDelimiter("\n");
//      if (sc.hasNext()) {
//          numberA = Double.parseDouble(sc.next());
//          numberB = Double.parseDouble(sc.next());
//          ch = sc.next().toCharArray();
//      }
//      char opre = ch[0];
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("输入第一个数");
numberA=Double.parseDouble(bf.readLine());
System.out.println("输入第二个数");
numberB=Double.parseDouble(bf.readLine());
System.out.println("输入运算符");
bf.read(ch);
opre=ch[0];
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(bf!=null){
bf.close();
}
}

double result = Operate(numberA, numberB, opre);
System.out.println("输出结果为:" + result);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: