import java.util.Scanner;
public class Practice1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1=null,s2=null,Sadd,Iadd,Dadd;
int i1,i2;
double d1,d2;
Practice1 Oj=new Practice1();
Scanner input=new Scanner(System.in);
try{System.out.println("请输入两个数:");
s1=input.next();
s2=input.next();}
catch(Exception e){System.out.println(e.getMessage());}
i1=Integer.parseInt(s1);
i2=Integer.parseInt(s2);
d1=Double.parseDouble(s1);
d2=Double.parseDouble(s2);
Sadd=Oj.getSadd(s1,s2);
Iadd=Oj.getIadd(i1,i2);
Dadd=Oj.getDadd(d1,d2);
System.out.println ("输入的二个字符串相加结果为:"+Sadd );
System.out.println ("输入字符串转换为整数相加结果为:"+Iadd );
System.out.println ("输入字符串转换为浮点数相加结果为:"+Dadd );
}
public String getSadd(String s1,String s2){
return s1+s2;
}
public String getIadd(int i1,int i2){
return String.valueOf(i1+i2);
}
public String getDadd(double d1,double d2){
return String.valueOf(d1+d2);
}
}
运行结果如图
想多了,输入字母怎么可能转换成数字呢。而且人家都给你报错了,NumberFormatException at String "s1"。
如果你非要把字母转换成数字,那么就得到字母字符的char数值。
char ch='h';
int i=(int)ch;
如果输入的值是纯数字的 那么程序就能正常运行 有包涵其他都可以
NumberFormatException at String "s1"。
数据格式不对,怎么输入了字符串,不是double 型的数吗
况且字符不能转换为数字,强制转换也不支持
输入两个数字,输出结果没错误
Integer类方法中parseInt等需要输入的参数是‘’123‘’此类的字符串
好奇葩的问题。 楼上都写了你的问题所在。 你的基础不牢固。 好好学学基础。 你会成为大牛的。加油。