鱼C论坛

 找回密码
 立即注册
查看: 7001|回复: 9

[已解决]使用java写一个简单计算器实现加减乘除计算

[复制链接]
发表于 2021-2-3 21:27:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码运行和出现错误如下:
请输入数据:  
1+1
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:864)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextDouble(Scanner.java:2413)
    at method.calc.main(calc.java:10)
代码如下:
package method;

import java.util.Scanner;

public class calc {
    public static void main(String[] args) {
       Scanner scanner=new Scanner(System.in);
        System.out.println("请输入数据:  ");

        double i=scanner.nextDouble();
        double j=scanner.nextDouble();
        char ch=scanner.next().charAt(0);

        switch (ch){

            case '+':
                add(i,j);
                break;
            case '-':
                acc(i,j);
                break;
            case '*':
                abb(i,j);
            case '/':
                if (i/j==0){
                    System.out.println("余数不能为零");
                }else {
                    aaa(i,j);
                }
scanner.close();
        }

    }

    private static void add(double i, double j) {
        double sum= i+j;
        System.out.println("结果为:"+sum);}
    private  static void acc(double i, double j) {
        double sum = i - j;
        System.out.println("结果为:"+sum);
    }
    private  static void abb(double i, double j){
        double sum= i*j;
        System.out.println("结果为:"+sum);}
    private  static void aaa(double i, double j){
        double sum=  i/j;
        System.out.println("结果为: "+sum);
    }


}


最佳答案
2021-2-4 17:57:13
希望能帮到你吧!
package com.example.test;

import java.util.Scanner;

public class Calc {
    public static void main(String[] args) {
        boolean str = true;
        Scanner scanner = new Scanner(System.in);
        while (str) {
            System.out.println("请选择运算方式,按0退出:1.加法 2.减法 3.乘法 4.除法");
            String ch = scanner.next();
            if ("0".equals(ch)){
                System.out.println("退出成功,谢谢使用!");
                break;
            }
            System.out.println("请输入数据:");
            double i = scanner.nextDouble();
            double j = scanner.nextDouble();

            switch (ch) {
                case "1":
                    add(i, j);
                    break;
                case "2":
                    acc(i, j);
                    break;
                case "3":
                    abb(i, j);
                    break;
                case "4":
                    if (j == 0)
                        System.out.println("余数不能为零,请重新输入");
                    else
                        aaa(i, j);
                    break;
            }
        }
        scanner.close();
    }

    private static void add(double i, double j) {
        System.out.println("结果为:" + (i + j));
    }

    private static void acc(double i, double j) {
        System.out.println("结果为:" + (i - j));
    }

    private static void abb(double i, double j) {
        System.out.println("结果为:" + (i * j));
    }

    private static void aaa(double i, double j) {
        System.out.println("结果为: " + (i / j));
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-3 21:46:11 | 显示全部楼层

回帖奖励 +2 鱼币

按照这个顺序,输入的时候空格分开就行
double i = scanner.nextDouble();
char ch = scanner.next().charAt(0);
double j = scanner.nextDouble();
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 09:39:26 | 显示全部楼层

回帖奖励 +2 鱼币

hhh
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-4 09:41:00 | 显示全部楼层

回帖奖励 +2 鱼币

hhh
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-4 11:51:07 | 显示全部楼层

回帖奖励 +2 鱼币

感谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 14:11:10 | 显示全部楼层

回帖奖励 +2 鱼币

楼主加油!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-4 17:57:13 | 显示全部楼层    本楼为最佳答案   
希望能帮到你吧!
package com.example.test;

import java.util.Scanner;

public class Calc {
    public static void main(String[] args) {
        boolean str = true;
        Scanner scanner = new Scanner(System.in);
        while (str) {
            System.out.println("请选择运算方式,按0退出:1.加法 2.减法 3.乘法 4.除法");
            String ch = scanner.next();
            if ("0".equals(ch)){
                System.out.println("退出成功,谢谢使用!");
                break;
            }
            System.out.println("请输入数据:");
            double i = scanner.nextDouble();
            double j = scanner.nextDouble();

            switch (ch) {
                case "1":
                    add(i, j);
                    break;
                case "2":
                    acc(i, j);
                    break;
                case "3":
                    abb(i, j);
                    break;
                case "4":
                    if (j == 0)
                        System.out.println("余数不能为零,请重新输入");
                    else
                        aaa(i, j);
                    break;
            }
        }
        scanner.close();
    }

    private static void add(double i, double j) {
        System.out.println("结果为:" + (i + j));
    }

    private static void acc(double i, double j) {
        System.out.println("结果为:" + (i - j));
    }

    private static void abb(double i, double j) {
        System.out.println("结果为:" + (i * j));
    }

    private static void aaa(double i, double j) {
        System.out.println("结果为: " + (i / j));
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-2-5 14:42:29 | 显示全部楼层
连帅帅 发表于 2021-2-4 17:57
希望能帮到你吧!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-5 14:43:20 | 显示全部楼层
谢谢分享!!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-7 13:05:29 | 显示全部楼层
输入的问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 22:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表