ccnky1
ccnky1
采纳率0%
2017-03-17 12:12

咨询一个java异常处理相关问题

请问try块中没做逻辑处理,为什么输入字符串后打印出来是报错的?
//programme name Strinput.java
import java.io.*;
public class Strinput
{
public static void main(String args[]) {
String s1 = null,s2 = null,ss,si,sf;
int i1,i2;
float f1,f2;
BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
try{System.out.print ("输入第一个字符串:" );
s1= strin.readLine();
System.out.print ("输入第二个字符串:" );
s2= strin.readLine();}
catch(Exception e){ System.out.println(e.getMessage());}
i1 = Integer.parseInt(s1);
i2 = Integer.parseInt(s2);
f1 = Float.parseFloat(s1);
f2 = Float.parseFloat(s2);
ss = strAdd(s1,s2);
si = strAdd(i1,i2);
sf = strAdd(f1,f2);
System.out.println ("输入的二个字符串相加结果为:"+ss );
System.out.println ("输入字符串转换为整数相加结果为:"+si );
System.out.println ("输入字符串转换为浮点数相加结果为:"+sf );
}
static String strAdd(String str1,String str2) {
return str1+str2;
}
static String strAdd(int int1,int int2) {
return String.valueOf(int1+int2);
}
static String strAdd(float flt1,float flt2) {
return String.valueOf (flt1+flt2);
}
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • wojiushiwo945you 毕小宝 4年前

    首先,你要看看堆栈错误信息是什么呢?哪一个调用方法走入了异常分支了,用e.printStack()打印堆栈信息。我这里正确运行了,没有报错,你是不是输入了非数字字符串了呢?正常你题目要求输入的是数字的呢。我这里的运行结果

     输入第一个字符串:1
    输入第二个字符串:2
    输入的二个字符串相加结果为:12
    输入字符串转换为整数相加结果为:3
    输入字符串转换为浮点数相加结果为:3.0
    

    其次,建议编码学习最开始就应该了解编程规范,遵循类、变量的命名规则,以后如果要从事软件开发行业,早期的编码习惯和规范意识会让你的编程之路顺当不少的。

    点赞 评论 复制链接分享
  • ljheee ljheee 4年前

    BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
    放到try里面

    点赞 评论 复制链接分享

相关推荐