Java算法bug求大神解答。。明天交作业 急急急急急急

我的一个求数字逆反的程序(就是把数字反着写,比如输入210输出12;输入1234输出4321)我的算法好像没有问题,但是输入某些数值会出现int格式数值的最大值,不知道为... 我的一个求数字逆反的程序(就是把数字反着写,比如输入210 输出 12;输入1234 输出4321)我的算法好像没有问题,但是输入某些数值会出现int格式数值的最大值,不知道为什么。。明天我就要交作业了,求大神解答!!!图片是我的源代码和在cmd中运行的结果,有的输入值会出现bug的情况,有的输入值就不会,是怎么回事? 展开
 我来答
君上沙夏
2018-09-29 · TA获得超过484个赞
知道小有建树答主
回答量:182
采纳率:50%
帮助的人:116万
展开全部

用字符串接收输入,用StringBuffer的reverse函数翻转字符串,如果确定都是整数就在做一次字符串转int ,如果严谨一点就直接从循环输出,从第一个不为0 的字符开始输出


public static void main(String[] args) {
String in =new  StringBuffer(args[0]).reverse().toString();
//这里如果确定都是整数就做下面的操作
int out= Integer.parseInt(in);
//如果不确定就不做上面这一步直接下面的操作
char[] outchar =in.toCharArray();
int i=0;
for(int len=outchar.length;i<len;++i){
if(outchar[i]!='0')
break;
}
System.out.println(in.substring(i,in.length()));
}
great_manSB250
2018-09-29 · TA获得超过190个赞
知道小有建树答主
回答量:584
采纳率:47%
帮助的人:126万
展开全部
如果我输入12345678,貌似你的代码就不能用了。为什么不用字符数组呢?先判断下输入的是不是合法的数字字符串,然后将字符从尾道头从新组成字符串,将新的字符串转化为数字输出。
追问
我的代码是哪里出错了?
是不是循环有问题?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式