java 在控制台输人2个有符号整数(signed int),以逗号分割; 在控制台输出这2个整数的相乘结果(用 signed int表示)(当结果发生溢出时输出err)
时间: 2024-04-08 07:34:48 浏览: 50
VHDL.rar_VHDL有符号_division vhdl_signed division_vhdl division_vhd
下面是使用Java编写的程序,可以从控制台输入两个有符号整数,然后输出它们的相乘结果。如果相乘结果溢出,程序将输出"err"。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入两个有符号整数(以逗号分隔):");
String input = sc.nextLine();
String[] nums = input.split(",");
if (nums.length != 2) {
System.out.println("输入格式错误!");
return;
}
try {
int num1 = Integer.parseInt(nums[0].trim());
int num2 = Integer.parseInt(nums[1].trim());
int result = num1 * num2;
// 检查是否溢出
if ((num1 != 0 && result / num1 != num2) || (num2 != 0 && result / num2 != num1)) {
System.out.println("err");
} else {
System.out.println("相乘结果:" + result);
}
} catch (NumberFormatException e) {
System.out.println("输入格式错误!");
}
sc.close();
}
}
```
运行这段代码后,程序会要求用户输入两个有符号整数(以逗号分隔),然后输出它们的相乘结果。如果相乘结果溢出,程序将输出"err"。
阅读全文