有兩種方式能夠實現,一種是利用Scanner,另外一種是利用BufferedReaderjava
- 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);
- }
- }