用Java编写一个程序进行一个数组元素值录入,能够控制录入数组元素的个数,对录入数组元素统计其正数负数和零的个自定义一个异常类ArraysElementException,用hasNextInt()方法判断输入是否为整数,若是返回true, // 否则返回fasle,当输入的值不是整数时,抛出该异常类对象。程序将捕捉这个异常类对象,并调用执行该异常类对象的toString()方法,该方法返回”当前值不是整数!“的字符串
时间: 2024-02-27 14:57:33 浏览: 72
利用JAVA,念整数。
好的,我明白了。以下是代码实现:
```java
import java.util.Scanner;
class ArraysElementException extends Exception {
public String toString() {
return "当前值不是整数!";
}
}
public class ArraysInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度:");
int length = scanner.nextInt();
int[] arr = new int[length];
int positiveCount = 0, negativeCount = 0, zeroCount = 0;
for (int i = 0; i < length; i++) {
System.out.print("请输入第" + (i + 1) + "个元素:");
try {
if (scanner.hasNextInt()) {
int num = scanner.nextInt();
arr[i] = num;
if (num > 0) {
positiveCount++;
} else if (num < 0) {
negativeCount++;
} else {
zeroCount++;
}
} else {
throw new ArraysElementException();
}
} catch (ArraysElementException e) {
System.out.println(e.toString());
i--;
scanner.nextLine();
}
}
System.out.println("正数个数:" + positiveCount);
System.out.println("负数个数:" + negativeCount);
System.out.println("零的个数:" + zeroCount);
}
}
```
运行结果如下:
```
请输入数组长度:5
请输入第1个元素:1
请输入第2个元素:2
请输入第3个元素:a
当前值不是整数!
请输入第3个元素:3
请输入第4个元素:-4
请输入第5个元素:0
正数个数:3
负数个数:1
零的个数:1
```
阅读全文