Java中将浮点数变成由小数和整数组成的数组 5

publicclassTest1{publicstaticvoidmain(String[]args){doublenum=6.98;StringnumStr=Strin... public class Test1 {

public static void main(String[] args) {
double num = 6.98;
String numStr = String.valueOf(num);
//String numStr = num.ToStrng();
String[] str = new String[2];
str = numStr.split(".");
int numLen = str.length;
System.out.println(numLen);
int zheng = Integer.parseInt(str[0]);
int xiao = Integer.parseInt(str[1]);
System.out.println(zheng+""+xiao);

}
}为什么会出现数组越界,数组长度为何为0
展开
 我来答
chow28
2013-08-19
知道答主
回答量:1
采纳率:0%
帮助的人:1461
展开全部
Dear 惏依晓兮:
因为str = numStr.split(".");这里的拆分没有成功,调用split方法后返回的值是null,所以str的长度为0,固str[0]和str[1]越界。
修改方法:改一条语句中的一个符号就OK了,str = numStr.split("\\.");注意 split方法的参数中在点的前面加了两个反斜线,这样才能成功拆分。两条输出语句的输出分别为2 698。

我晕,大家这么快。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我都知道了哦
2013-08-19 · TA获得超过1764个赞
知道小有建树答主
回答量:1019
采纳率:0%
帮助的人:750万
展开全部
试一试下面的方法:

if(num>0){
zheng = Math.floor(num);
}else{
zheng = Math.ceil(num);
}
xiao = num - zheng;

你贴的代码中,被注释掉的那一行是对的,之前一行是错的。
String numStr = num.ToStrng();

很久没有写Java了,语法问题你自己解决吧。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shewai12110
2013-08-19 · TA获得超过145个赞
知道答主
回答量:69
采纳率:0%
帮助的人:31.9万
展开全部
在java中,使用split把字符串拆分成数组,点(.)比较特殊,不能直接写成str = numStr.split(".");改成str = numStr.split("\\.");转义一下就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神机天下
2013-08-19 · TA获得超过175个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:181万
展开全部
str = numStr.split(".");	 该句有问题...
引文"."在java里面有特殊意义  所以应该转意   
str = numStr.split("\\.");  这样就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深夜丨放毒
2013-08-19
知道答主
回答量:52
采纳率:0%
帮助的人:15万
展开全部
str = numStr.split(".");改成str = numStr.split("\\.");

点在正则表达式中有用,要转一下的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式