只是纯粹的用java写的,不要求swing的,只在console显示就好了! 实现加减乘除四个方法
        输入的参数可以为  1两个字符串。2两个float。3两个long。4两个int。(关于重载)
        要求返回的类型为字符串

解决方案 »

  1.   


    package com.synnex.test;import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test { public static void add(String str1, String str2) {
    System.out.println("P>计算结果:\nP>\t" + str1 + str2);
    } public static void add(int int1, int int2) {
    long result = int1 + int2;
    System.out.println("P>计算结果:\nP>\t" + result);
    } public static void add(float int1, float int2) {
    double result = int1 + int2;
    System.out.println("P>计算结果:\nP>\t" + result);
    } public static void add(double int1, double int2) {
    double result = int1 + int2;
    System.out.println("P>计算结果:\nP>\t" + result);
    } public static void main(String[] args) throws Exception { boolean isExit = false; Pattern pattern;
    Matcher matcher;
    String group1;
    String group2;
    boolean b;
    while (!isExit) {
    System.out.print("P>");
    BufferedReader br = new BufferedReader(new InputStreamReader(
    System.in));
    StringBuffer sb = new StringBuffer();
    sb.append(br.readLine());
    if (sb.toString().trim().equalsIgnoreCase("exit")) {
    System.out.println("P>程序退出......");
    isExit = true;
    } else {
    try {
    pattern = Pattern.compile("(.+)\\+(.+)");
    matcher = pattern.matcher(sb.toString());
    b = matcher.matches();
    // b = Pattern.matches("(\".+\")\\c+\".+\"",sb.toString());
    if (b) {
    // 加法
    group1 = matcher.group(1);
    group2 = matcher.group(2);
    if (Pattern.matches("\\d+f$", group1)
    && Pattern.matches("\\d+f$", group2)) {
    add(Float.parseFloat(group1), Float
    .parseFloat(group2)); } else if (Pattern.matches("\\d+d$", group1)
    && Pattern.matches("\\d+d$", group2)) {
    add(Double.parseDouble(group1), Double
    .parseDouble(group2)); } else if (Pattern.matches("\\d+$", group1)
    && Pattern.matches("\\d+$", group2)) {
    add(Integer.parseInt(group1), Integer
    .parseInt(group2)); } else {
    add(group1, group2);
    }
    }
    b = Pattern.matches("\".+\"\\c*\".+\"", sb.toString());
    if (b) {
    // 乘法 }
    } catch (Exception e) {
    System.out.println("输入数据解析错误!请重新输入");
    }
    }
    } }
    }大家都没有什么时间!  我给你写了加法部分的  还有些不完善! 你自己看能不能把其他的 写出来!
      

  2.   

    google一下.一大把.以前写过一个不太成熟的.不过没在单位电脑里.
      

  3.   

    乘法的 正则表达式 你改下  我忘记改了乘
    "(\d+)\\*(\d+)"减
    "(\d+)\\-(\d+)"除
    "(\d+)/(\d+)"
      

  4.   

    我搜索过,没有console的,都是swing的,谢谢各位。剩下的我自己搞定