public class Main { public static void main(String[] args) { try { // 获取加法表达式 String expression = args[0]; // 分离出被加数 String[] numbers = expression.split("\\+"); int sum = 0; // 对每个被加数进行求和 for (String number : numbers) { // 转换为整数并求和 sum += Integer.parseInt(number.trim()); } // 输出结果 System.out.println("结果为:" + sum); } catch (Exception e) { // 处理异常情况 System.out.println("输入格式错误!"); } } }修改这串代码要求格式为两位数加两位加一位数,否则格式报错
时间: 2024-01-24 13:05:25 浏览: 63
C#中static void Main(string[] args) 参数示例详解
可以修改代码如下:
```
public class Main {
public static void main(String[] args) {
try {
// 获取加法表达式
String expression = args[0];
// 判断表达式是否符合要求(两位数 + 两位数 + 一位数)
if (!expression.matches("\\d{2}\\s*\\+\\s*\\d{2}\\s*\\+\\s*\\d{1}")) {
throw new Exception();
}
// 分离出被加数
String[] numbers = expression.split("\\+");
int sum = 0;
// 对每个被加数进行求和
for (String number : numbers) {
// 转换为整数并求和
sum += Integer.parseInt(number.trim());
}
// 输出结果
System.out.println("结果为:" + sum);
} catch (Exception e) {
// 处理异常情况
System.out.println("输入格式错误!请确保表达式为两位数 + 两位数 + 一位数");
}
}
}
```
这段代码增加了对表达式的格式要求的判断,使用正则表达式进行匹配。如果表达式不符合要求,则抛出异常并输出错误信息。同时,去掉了原先的字符串修剪,因为加号两侧的空格已经在正则表达式中进行了匹配。
阅读全文