NumberFormatException得到平均值

时间:2012-12-03 00:08:57

标签: java arrays numberformatexception

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

输入 •通过键盘从用户输入的10个整数 产量 •打印数字的平均值 • 错误信息 o如果输入的东西不是整数 处理 •Import Scanner类 •读入每个整数值 o使用integer.parseInt方法转换整数 •创建例外 o引发NumberFormatException 无效 打印错误消息

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

修改

import java.util.Scanner;

public class 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");
    }

} }

那么如何才能将我的数组中的数字变为parseInted。

3 个答案:

答案 0 :(得分:1)

这是家庭作业吗?

Exception Handling

Integer.parseInt(String)

答案 1 :(得分: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无法转换为数字,则会抛出异常。

答案 2 :(得分:1)

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

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

然后使代码具体化。