2 guang nate Guang_Nate 于 2015.06.12 18:49 提问

JAVA中如何使一个数组中的比较大的正数显示成负数

在做Android开发的时候一个byte类型的数组result,里面有比较大的正数,需要做什么样的处理才能使他显示的全是正数;求大神指导,给个代码

byte[] result

for (int i = 0; i < result.length; i++)
Log.e("读出全部page", "byte " + i + " is " + result[i]);

2个回答

u012216727
u012216727   Ds   Rxr 2015.06.12 19:14

取绝对值不行吗,这个是根据你给的内容提的;如果是显示负数,你先取绝对值再给个相反数不就可以了,这些在Math类里应该有吧,你可以查看一下帮助文档。

如果回答对你有帮助,请采纳

u012216727
u012216727 如果回答对你有帮助,请采纳
2 年多之前 回复
u012216727
u012216727 如果输出是负数,你在获取数组里面的元素后调用Math里的绝对值,输出绝对值不就可以了吗?
2 年多之前 回复
u012216727
u012216727 你自己百度一下java正则的使用,很简单的。是不是你byte类型太小的缘故所以输出是负号的,你就不能用别的类型吗
2 年多之前 回复
Guang_Nate
Guang_Nate 回复wolf094014: 没用过,您能帮我举个例子吗?假如我的数据时byte result[]={22,55,99,129,159,146,199,165,79},其实里面都是正数,但是在显示时会带有负号
2 年多之前 回复
u012216727
u012216727 正则你应该会用吧,循环数组,然后一个一个匹配,一个一个改,你可以根据这个自己根据需要修改
2 年多之前 回复
u012216727
u012216727 可以用正则表达式的,匹配上了就将负号去掉就可以了;如果回答对你有帮助,记得采纳啊
2 年多之前 回复
Guang_Nate
Guang_Nate ,不知道你有什么好办法没有
2 年多之前 回复
Guang_Nate
Guang_Nate 是一个byte类型的数组,里面有比较大的正数然后将它显示出来的时候前面带有负号,所以想找办法将这个负号去掉
2 年多之前 回复
q3733353520
q3733353520   2015.06.13 14:09

String.format(%d)

q3733353520
q3733353520 回复Guang_Nate: 负数是因为溢出,本质上你要解决的问题是把byte转为数据范围更大的数据类型,如int类型,或者其它更长的数据类型
2 年多之前 回复
Guang_Nate
Guang_Nate 能帮我举个例子说明下吗?新手求教
2 年多之前 回复
Guang_Nate
Guang_Nate 这个可以解决掉“一个byte类型的数组,里面有比较大的正数然后将它显示出来的时候前面带有负号,所以想找办法将这个负号去掉”
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片