编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。

        根据题目描述,首先要判断字符串的类型。如果字符串是整数或浮点数则进行相加,返回结果。否则进行字符串的拼接(这个对输入不符合的字符我有点不太明白,或者说是没有给出具体的限制T_T),返回拼接后的字符串。

public class StringProblem {
   public static void main(String[] args) {
       String str1, str2, str3;
       Scanner scanner = new Scanner(System.in);
       str1 = scanner.next();
       str2 = scanner.next();

        //测试正则表达式是否生效
       //System.out.println(str1.matches("^[0-9]*$"));
        //获取字符串的第二种方式
//        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
//        try {
//            str1 = bufferedReader.readLine();
//            str2 = bufferedReader.readLine();
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        }

       if (str1.matches("^[0-9]*$") && str2.matches("^[0-9]*$")){
        //判断是否由整数组成的正则表达式
           int i1,i2;
           i1 = Integer.parseInt(str1);
           i2 = Integer.parseInt(str2);
           str3 = add(i1,i2);
           System.out.println(str3);
       }else if (str1.matches("^(-?\\d+)(\\.\\d+)?$")&&
               str2.matches("^(-?\\d+)(\\.\\d+)?$")){
        //判断浮点数的正则表达式
           float f1,f2;
           f1 = Float.parseFloat(str1);
           f2 = Float.parseFloat(str2);
           str3 = add(f1,f2);
           System.out.println(str3);
       }else{//非整数非浮点数则进行字符串的拼接
           str3 = add(str1,str2);
           System.out.println(str3);
       }
    }
    //实际是add方法的重载
    private static String add(String str1,String str2){
        return str1 + str2;
    }
    public static String add(int i1, int i2){
        return String.valueOf(i1+i2);
    }
    static String add(float f1,float f2){
        return String.valueOf(f1+f2);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用Scanner类从键盘读取用户输入两个字符串,然后使用try-catch语句进行异常处理,如果输入字符串符合要求,就提示用户重新输入。然后使用重载函数实现字符串拼接整数相加浮点数相加的功能。最后输出结果。以下是示例代码: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str1 = ""; String str2 = ""; int num1 = ; int num2 = ; double d1 = .; double d2 = .; boolean flag = true; do { try { System.out.print("请输入一个字符串:"); str1 = scanner.nextLine(); System.out.print("请输入第二个字符串:"); str2 = scanner.nextLine(); System.out.print("请输入一个整数:"); num1 = Integer.parseInt(scanner.nextLine()); System.out.print("请输入第二个整数:"); num2 = Integer.parseInt(scanner.nextLine()); System.out.print("请输入一个浮点数:"); d1 = Double.parseDouble(scanner.nextLine()); System.out.print("请输入第二个浮点数:"); d2 = Double.parseDouble(scanner.nextLine()); flag = false; } catch (NumberFormatException e) { System.out.println("输入字符串符合要求,请重新输入!"); } } while (flag); System.out.println("字符串拼接结果:" + concat(str1, str2)); System.out.println("整数相加结果:" + add(num1, num2)); System.out.println("浮点数相加结果:" + add(d1, d2)); } public static String concat(String str1, String str2) { return str1 + str2; } public static int add(int num1, int num2) { return num1 + num2; } public static double add(double d1, double d2) { return d1 + d2; } } ### 回答2: 首先,我们需要编写一个Java应用程序,来实现要求的功能。主要步骤如下: 1. 从键盘读取用户输入两个字符串。 2. 判断两个字符串是否符合要求,如果不符合要求进行异常处理,并提示用户。 3. 重载3个函数,分别实现两个字符串拼接整数相加浮点数相加。 4. 输出计算结果。 接下来,我们将详细介绍每一个步骤的实现方法。 1. 从键盘读取用户输入两个字符串。 我们可以使用Java中的Scanner类,来读取用户输入的数据。代码如下: ``` Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:"); String str1 = sc.nextLine(); System.out.println("请输入第二个字符串:"); String str2 = sc.nextLine(); ``` 2. 判断两个字符串是否符合要求,如果不符合要求进行异常处理,并提示用户。 对于第一步读取到的字符串,我们要进行判断,判断是否符合要求。例如,对于整数相加,我们只能输入数字字符串,否则会抛出NumberFormatException异常;对于浮点数相加,我们只能输入数字字符串或科学计数法形式的字符串,否则会抛出NumberFormatException异常。代码如下: ``` try { int num1 = Integer.parseInt(str1); int num2 = Integer.parseInt(str2); System.out.println(num1 + num2); } catch (NumberFormatException e) { System.out.println("输入的不符合要求字符串,请输入数字字符串。"); } ``` 3. 重载3个函数,分别实现两个字符串拼接整数相加浮点数相加。 我们可以编写三个函数,分别实现两个字符串拼接整数相加浮点数相加。代码如下: ``` public static String concat(String str1, String str2) { return str1 + str2; } public static int add(int num1, int num2) { return num1 + num2; } public static double add(double num1, double num2) { return num1 + num2; } ``` 4. 输出计算结果。 最后,我们需要调用上述三个函数,计算结果并输出。代码如下: ``` String result1 = concat(str1, str2); int result2 = add(num1, num2); double result3 = add(double1, double2); System.out.println("拼接结果为:" + result1); System.out.println("整数相加结果为:" + result2); System.out.println("浮点数相加结果为:" + result3); ``` 至此,我们完成了要求的Java应用程序编写,并且进行异常处理,使得程序不能崩溃。 ### 回答3: 编写这个Java应用程序需要使用Java语言的基础知识,包括输入输出、条件语句、异常处理等。 首先,通过Scanner类从键盘读取用户输入两个字符串,并保存到两个字符串变量中。读取字符串的过程中,需要进行异常处理,防止用户输入非法字符导致程序崩溃。 同时,编写重载的三个函数。第一个函数实现两个字符串拼接,其实就是使用Java提供的字符串连接符号“+”将两个字符串连接起来。第二个函数实现整数相加,需要将用户输入字符串转换成整数,再相加并返回结果。第三个函数实现浮点数相加,需要将用户输入字符串转换成浮点数,再相加并返回结果。在函数中也需要进行异常处理,防止用户输入非法字符导致程序崩溃。 最后,在主程序中将三个函数按顺序调用,将结果输出到屏幕上,结束程序。 下面是这个Java应用程序的代码实现: ``` import java.util.Scanner; public class StringAndNumber { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个字符串:"); String str1 = scanner.nextLine(); System.out.println("请输入第二个字符串:"); String str2 = scanner.nextLine(); try { System.out.println("两个字符串拼接结果是:" + concat(str1, str2)); System.out.println("两个整数相加结果是:" + add(Integer.parseInt(str1), Integer.parseInt(str2))); System.out.println("两个浮点数相加结果是:" + add(Float.parseFloat(str1), Float.parseFloat(str2))); } catch (NumberFormatException e) { System.out.println("输入字符串符合要求,请重新输入。"); } } public static String concat(String str1, String str2) { return str1 + str2; } public static int add(int a, int b) { return a + b; } public static float add(float a, float b) { return a + b; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值