java当把字符串转换为数值型数据失败时产生的异常怎么班

来源:百度知道 编辑:UC知道 时间:2024/05/08 17:39:02
代码:

import java.io.*;

public class KsB1
{
public static void main( String args[]) throws IOException
{
String banji[], name[], chengji[];
String str;
int a[], b[];
int i, j, m=0,temp;
BufferedReader buf = new BufferedReader( new InputStreamReader( System.in));

FileWriter fw = new FileWriter("d:\\a.txt");
FileReader fr = new FileReader("d:\\a.txt");

for( i=0; ; i++)
{
System.out.print( "请输入班级:");
str = buf.readLine();
if( str.length() == 0)
break;
else
fw.write( str + "\r\n ");

System.out.print( "请输入姓名:");
str = buf.readLine();
fw.write( str + "\r\n ");

System.out.print( "请输入成绩:");
str = buf.readLine();

会抛出NumberFormatException的异常

不处理会终止程序 !

可以用try{ } catch(NumberFormatException e){ } 捕捉异常

产生异常会执行catch 代码块语句

代码:(添加了try...catch 语句)

//以下该写按成绩排序了。 错误代码,当把字符串转换为数值型数据失败时产生
for( i=0; i<m; i++)
{
str = chengji[i];
try{
a[i] = Integer.parseInt( str);
}
catch(NumberFormatException e){
//产生字符串转换为数值型数据失败时, 设为 0,再执行之后代码
a[i]=0;
}

System.out.print( a[m]);
}