| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2398 人关注过本帖
标题:新手小程序,一个关于字符串的问题,请大家指教,拜托了!
只看楼主 加入收藏
六先生
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-6-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
新手小程序,一个关于字符串的问题,请大家指教,拜托了!
完整程序如下:
package biaozhun;

import
import

public class Strin {

    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 it1,int it2){
return String.valueOf(it1+it2);
}
static String strAdd(float fl1,float fl2){
    return String.valueOf(fl1+fl2);
            }
}

我试过了,运行没问题,输入数字有结果,但是输入带字母的字符串就报错!如下所示:
输入第一个字符串:  124
输入第二个字符串:  10k
出异常:Exception in thread "main" java.lang.NumberFormatException: For input string: "10k"
想了一下午,百思不得其解,求大神指教,多多感谢!!!
搜索更多相关主题的帖子: package public import 字符串 null 
2016-06-24 18:36
TsugumiYuu
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:32
专家分:126
注 册:2016-5-14
收藏
得分:10 
同新手,看了一下,问题在于NumberFormatException: For input string这句话,意思是你想把输入的一个字符串转换为数字进行计算
但是字符串类型明显不同于基本类型,像你这样强转,肯定是有问题的,个人觉得你的代码意思应该是:
如果输入两个字符串进行字符串连接
如果输入数字就行数字相加
字符串与数字组合进行字符串连接
关键就在于你的打包上出现了问题,一定要把字符串打包成Integer或者Float进行输出,那么你明显应该用上if-eles的判断
个人理解
2016-06-24 22:35
六先生
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-6-24
收藏
得分:0 
回复 2楼 TsugumiYuu
你好,我找到了答案,其实主要是字符串转化成原始整型数据的理解不是很到位,不是任何字符串都能转化成数字的,所以,输入数字字符才能转化,输入字母字符进去就会报错,谢谢你的思考,呵呵
2016-06-25 01:11
h15188779255
Rank: 2
等 级:论坛游民
威 望:1
帖 子:17
专家分:45
注 册:2016-6-26
收藏
得分:10 
看你报的错误,就是想1l说的那个样,强行转换的时候出现的错误,或者是丢失或者是什么原因,错误就是类型转换错误。字符串转换的时候,最好的字符串也是数字的字符串,不应该是还有其他的非数字组成的字符串,这样的话,强行转换的时候坑定会出现错误的!!!
---------------别开枪
2016-06-26 20:32
快速回复:新手小程序,一个关于字符串的问题,请大家指教,拜托了!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020458 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved