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();
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]);
}