Java编写一个简易的计算器-----无界面(循环实现)

package com.gao.method;
 
import java.util.Scanner;
 
public class Demo01 {
    public static void main (String[] args) {
 
        //用户从键盘中输入
        Scanner scanner = new Scanner(System.in);
 
        //String的双引号里可以为空
        String input1 = "";
        //char的单引号里不能为空;char restart = ' '  <——左边的单引号里有一个空格;String与char对比记忆!!
        char restart = ' ';
        double input2 = 0;
        double input3 = 0;
        /*
         1. input1接收的是加减乘除符号
         2. input2、input3接收的是等待计算的两个数字
         */
 
        do {
 
            System.out.println("请输入+-*/其中一个运算符号");
            input1 = scanner.next();
 
            System.out.println("请输入两个数字,请注意用空格隔开,如4 5:");
            input2 = scanner.nextDouble();
            input3 = scanner.nextDouble();
 
            switch(input1){
                case "+" :
                    System.out.println("用户选择的是加法,结果为:"+add(input2,input3));
                    break;
                case "-":
                    System.out.println("用户选择的是减法,结果为:"+sub(input2,input3));
                    break;
                case "*":
                    System.out.println("用户选择的是乘法,结果为:"+mul(input2,input3));
                    break;
                case "/":
                    if (input3==0){
                        System.out.println("输入错误,除数不能为0!");
                        break;
                    }
                    System.out.println("用户选择的是除法,结果为:"+div(input2,input3));
                    break;
                default:
                    System.out.println("请检查输入的算术符号是否有误!!");
            }
 
            System.out.println("是否重新进行运算?请输入y/n");
            /*因为没有nextChar()方法,所以如果想要获取用户输入字符串中的第1个字符,就是charAt(0);
              如果想获取第二个,如abc中的b,则是charAt(1).*/
            restart = scanner.next().charAt(0);
 
        }while(restart=='y');//当用户输入的是y,重新进行计算,需要重新输入input1、input2、input3
        System.out.println("感谢使用!");
        scanner.close();
    }
 
    //往下依次为“加减乘除”四种方法
 
    public static double add(double a,double b){
        return a+b;
    }
 
    public static double sub(double a,double b){
        return a-b;
    }
 
    public static double mul(double a,double b){
        return a*b;
    }
 
    public static double div(double a,double b){
        return a/b;
    }
 
}

结合数组

 

package scanner;

import com.sun.media.jfxmedia.events.NewFrameEvent;

import java.security.PublicKey;
import java.util.Scanner;

public class Demo04 {
    public  static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        double[] num = new double[2];
        String operator =null;
        boolean flag = true;
        while(flag){
            System.out.println("请输入要进行的操作");
            if(scanner.hasNext()){
                operator = scanner.next();
            }
            System.out.println("请输入操作数");
            for (int i=0;i<2;i++){
                num[i]=scanner.nextDouble();
            }
            switch (operator){
                case "+":
                    System.out.println("+");
                    add(num);
                    break;
                case "-":
                    System.out.println("-");
                    break;
                case "*":
                    System.out.println("*");
                    break;
                case "/":
                    System.out.println("/");
                    break;
            }
            System.out.println("(q退出,任意字符继续)是否退出:");
            String n = scanner.next();
            if(n.equals("q")){
                flag = false;
            }
        }

        scanner.close();
    }
    public static double add(double num[]){
        System.out.println("合为:" + (num[0]+num[1]));
        return 0;
    }
}

你可能感兴趣的:(java,开发语言)