6. 从键盘读取用户输入两个字符串,并定义一个类addNums包含重载2个方法go()分别实现这两个字符串的连接、或者数值型数据相加(浮点数相加),程序根据输入的字符串内容是否为数值型自动判断,如果为数值型则相加,如果包含其他字符则连接两个字符串。要进行异常处理,不能使程序崩溃,对不同类型的输入(字符或数值)进行测试。java程序
时间: 2024-03-05 15:54:59 浏览: 64
好的,我理解了您的问题。以下是Java程序的代码实现:
```java
import java.util.Scanner;
public class addNums {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入第一个字符串:");
String str1 = sc.nextLine();
System.out.print("请输入第二个字符串:");
String str2 = sc.nextLine();
Adder adder = new Adder();
adder.go(str1, str2);
}
}
class Adder {
public void go(String str1, String str2) {
try {
double num1 = Double.parseDouble(str1);
double num2 = Double.parseDouble(str2);
System.out.println("两数相加的结果为:" + (num1 + num2));
} catch (NumberFormatException e) {
String str = str1 + str2;
System.out.println("两个字符串连接的结果为:" + str);
}
}
}
```
解释一下代码:
1. 在主函数中,我们用Scanner类从键盘读取了两个字符串str1和str2。
2. 然后我们创建了一个Adder类的对象adder,并调用了它的go()方法。
3. 在Adder类的go()方法中,我们使用了try-catch语句进行异常处理,如果输入的字符串不是数值型,就会抛出NumberFormatException异常。在catch块中,我们将这两个字符串连接起来,并输出连接后的结果。
4. 如果输入的字符串是数值型,try块中的代码就会执行,将这两个字符串转换成浮点型数值相加,最后输出相加后的结果。
注意,我们使用了Double.parseDouble()方法将字符串转换成浮点型数值。这个方法也可能抛出NumberFormatException异常,所以我们需要使用try-catch语句进行处理。
阅读全文