java 整型逆序 考虑负数怎么办 下面程序当整型为负数时计数为0 怎么改

package huawei;
public class NumberInverse{
private int amount=0;
private String stringOutput="";
private int inverseInt=0;
public NumberInverse(int input) {
String str = input + "";
if ("-".equals(str.substring(0, 1)))
{
} else
{
this.amount = str.length();
}
for(int i=0;i<str.length();i++)
{
this.stringOutput+=str.charAt(i)+" ";
}
String temp="";
if ("-".equals(str.substring(0, 1)))
{
temp="-";
for(int i=str.length()-1;i>0;i--)
{
temp+=str.charAt(i);
}
}
else
{
for(int i=str.length()-1;i>=0;i--)
{
temp+=str.charAt(i);
}
}
this.inverseInt=Integer.parseInt(temp);
}
public int getAmount()
{
return amount;
}
public String getStringOutput()
{
return stringOutput;
}
public int getInverseInt()
{
return inverseInt;
}
public static void main(String[] args)
{
NumberInverse test = new NumberInverse(23456);
System.out.println(test.getAmount());
System.out.println(test.getStringOutput());
System.out.println(test.getInverseInt());
}
}

我运行了一下你的程序,没问题啊,是不是你的IDE的问题啊?不过你貌似默认的是如果输入的是负数,就不计算数字的长度了,只有输入的是正数的时候才计算数字长度追问

对啊 就是负数的时候不计算数字长度了 怎么该呢 求指导 谢谢啊

追答

你在判断数字是正负的那里,负数的情况下你给空了,只写了是正数的情况下读取了数字的长度。在负数那里添加上获得数字长度不就行啦

追问

先谢了 我加了this.amount = str.length()-1; 对了 可是测试还是不过 为什么呢 求帮忙看看哈

追答

我测试没问题,正确输出结果。你的IDE和JDK的版本是多少啊?应该是软件的问题

追问

额 我 再看看吧谢谢你了
是jdk-6u27-windows-i586的

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-29
public NumberInverse(int input) {
if(input <0)
input=0;
String str = input + "";追问

没用额 当输入23456结果是5 2 3 4 5 6 654321
当输入-23456结果是0 -23456 -654321 是错误的计数应该是5 原程序改怎么该呢

相似回答