用JAVA编写一个程序,从键盘读取用户输入两个字符串,并定义一个类addNums包含重载2个方法go()分别实现这两个字符串的连接、或者数值型数据相加(浮点数相加),程序根据输入的字符串内容是否为数值型自动判断,如果为数值型则相加,如果包含其他字符则连接两个字符串。要进行异常处理,不能使程序崩溃,对不同类型的输入(字符或数值)进行测试。
时间: 2024-03-05 11:52:09 浏览: 113
好的,以下是使用Java编写程序实现你的要求:
```java
import java.util.Scanner;
public class AddNums {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个字符串:");
String str1 = scanner.nextLine();
System.out.print("请输入第二个字符串:");
String str2 = scanner.nextLine();
AddNums addNums = new AddNums();
try {
double num1 = Double.parseDouble(str1);
double num2 = Double.parseDouble(str2);
System.out.println("数值型数据相加的结果为:" + addNums.go(num1, num2));
} catch (NumberFormatException e) {
System.out.println("连接两个字符串的结果为:" + addNums.go(str1, str2));
}
}
public String go(String str1, String str2) {
return str1 + str2;
}
public double go(double num1, double num2) {
return num1 + num2;
}
}
```
程序首先使用 `java.util.Scanner` 类从键盘读取用户输入的两个字符串 `str1` 和 `str2`。然后,程序创建一个 `AddNums` 类的实例 `addNums`,并在 `try-catch` 块中对字符串进行转换以判断其是否为数值型数据。如果字符串是数值型数据,则调用参数类型为 `double` 的 `go()` 方法进行相加;如果字符串包含其他字符,则调用参数类型为 `String` 的 `go()` 方法进行连接。在 `catch` 块中捕获 `NumberFormatException` 异常,表示输入的字符串不是合法的数值型数据。
最后,程序输出连接两个字符串或数值型数据相加的结果。程序的输出结果可能如下:
```
请输入第一个字符串:123
请输入第二个字符串:45.6
数值型数据相加的结果为:168.6
```
```
请输入第一个字符串:Hello
请输入第二个字符串:world!
连接两个字符串的结果为:Helloworld!
```
希望这个程序能够帮助到你!
阅读全文