编写一个程序进行一个数组元素值的录入,能够控制录入数组元素的个数,对录入数组元素统计其正数,负数和零的个数。自定义一个异常类ArraysElementException,当输入的值不是整数时,抛出该异常类对象,程序将捕捉这个异常对象,并调用执行该异常类对象的toString()方法, 该方法返回“**不是整数“的字符串(hasNextInt():判断输入是否为整数,若是返回True,不是返回fasle
时间: 2024-02-27 10:54:57 浏览: 75
好的,以下是一个可能的实现,可以参考一下:
```python
class ArraysElementException(Exception):
def __str__(self):
return "**不是整数"
def count_numbers():
n = int(input("请输入数组元素个数:"))
arr = []
for i in range(n):
while True:
try:
x = input("请输入第%d个元素:" % (i + 1))
if not x:
raise ArraysElementException
x = int(x)
break
except ValueError:
print(ArraysElementException())
arr.append(x)
pos_count = neg_count = zero_count = 0
for x in arr:
if x > 0:
pos_count += 1
elif x < 0:
neg_count += 1
else:
zero_count += 1
print("正数个数:%d" % pos_count)
print("负数个数:%d" % neg_count)
print("零的个数:%d" % zero_count)
count_numbers()
```
程序首先读入数组元素个数,然后读入每个元素,如果输入不是整数,就抛出 ArraysElementException 异常。接着,程序统计正数、负数和零的个数,并输出结果。
阅读全文