设计并实现一个程序,该程序从用户读取一系列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。
答案 0 :(得分:1)
答案 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
然后使代码具体化。