-3

设计并实现一个程序,从用户那里读取一系列 10 个整数并打印它们的平均值。将每个输入值作为字符串读取,然后尝试使用 Integer.parseInt 方法将其转换为整数。如果此过程引发 NumberFormatException(意味着输入不是有效数字),则打印相应的错误消息并再次提示输入数字。继续读取值,直到输入 10 个有效整数。

输入 • 用户通过键盘输入的 10 个整数 输出 • 打印数字的平均值 • 错误消息 o 如果输入的内容不是整数 处理 • 导入扫描器类 • 读入每个整数值 o 使用整数转换整数。 parseInt 方法 • 创建异常 o 抛出 NumberFormatException  无效  打印错误消息

所以我目前正在设计这个,我没有从哪里开始编码。如何合并 numberformatexception 和 parseint?

编辑

导入 java.util.Scanner;

公共类 NumAverage {

public static void main (String [] args)
{
    //int a,b;
    int[] numbers = new int [10];

    Scanner numreader = new Scanner(System.in);

    try
    {
        System.out.println("Enter 10 num");
        for (int i = 0; i < numbers.length; i++)
            numbers[i] = numreader.nextInt();
            numbers[i] = Integer.parseInt(s)
    }
    catch(NumberFormatException numfo)
    {
        System.out.println(numfo.getMessage() + "cannot be converted to integer");
    }

} }

那么如何从我的数组中获取要解析的数字。

4

3 回答 3

1

这是作业吗?

异常处理

Integer.parseInt(字符串)

于 2012-12-03T00:13:19.073 回答
1

我假设转换部分是让你头疼的部分。

您可以使用一个 try-catch子句:

int a;
try{
    a = Integer.parseInt(aString);
}
catch(NumberFormatException e){
    System.out.println("An exception has been thrown. " + aString + 
         " is not a valid number");
}

这是接受字符串的部分,尝试将其转换为数字,如果抛出异常,它会捕获它并打印一条消息。String如果无法转换为数字,将引发异常。

于 2012-12-03T00:14:28.183 回答
1

如果您有“作家的障碍”,请使用自上而下的抽象编程:

REPEAT
    read a string;
    IF converted to an integer THEN
       ...
    ENDIF;
UNtIL ten integers have been read

然后将代码具体化。

于 2012-12-03T00:14:55.443 回答