永发信息网

用java实现整型反序

答案:4  悬赏:60  手机版
解决时间 2021-04-15 17:02
用java实现整型反序
最佳答案
public class NumberInverse
{

    private int        amount;
    private String    stringOutput;
    private int        inverseInt;

    public NumberInverse(int input)
    {
        if (input > 99999 || input < -99999)
        {
            System.out.println("请输入一个小于5位的整数");
            return;
        }
        // 位数
        amount = Integer.toString(Math.abs(input)).length();
        // 空格显示
        for (char c : Integer.toString(Math.abs(input)).toCharArray())
        {
            if (stringOutput == null)
            {
                stringOutput = "";
            }
            stringOutput += String.format("%s%s", String.valueOf(c),
                " ");
        }
        stringOutput = input >= 0 ? stringOutput : String.format(
            "-%s", stringOutput);
        // 逆序
        String s = "";
        for (int i = this.getAmount() - 1; i >= 0; i--)
        {
            s += String.valueOf((Integer.toString(Math.abs(input))
                .toCharArray())[i]);
        }
        inverseInt = input >= 0 ? Integer.parseInt(s) : Integer
            .parseInt(String.format("-%s", s));
    }

    public int getAmount()
    {
        return amount;
    }

    public String getStringOutput()
    {
        return stringOutput;
    }

    public int getInverseInt()
    {
        return inverseInt;
    }

    
    public static void main(String[] args)
    {
        NumberInverse n = new NumberInverse(-32345);
        System.out.println(n.getAmount());// 打印位数
        System.out.println(n.getStringOutput());// 打印格式化字符串
        System.out.println(n.getInverseInt());// 打印逆序的数字
    }
}
全部回答
一个财富都木有,要写那么多代码,唉!!!追问哭啊 没财富用了追答public class NumberInverse
{
private int amount=0;
private String stringOutput="";
private int inverseInt=0;
public NumberInverse(int input)
{ //to get the amout
String str = input + "";
if ("-".equals(str.substring(0, 1)))
{
this.amount = (str.substring(1)).length();
} else
{
this.amount = str.length();
}
//to get the stringOutput
for(int i=0;i{
this.stringOutput+=str.charAt(i)+" ";
}
//to inverse the input
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(-
public static void main(String[] args) {
NumberInverse ni = new NumberInverse(-956174);
System.out.println("amount is " + ni.getAmount());
System.out.println("stringOutput is " + ni.getStringOutput());
System.out.println("inverseInt is " + ni.getInverseInt());
}
public NumberInverse(int input) {
inverseInt = input;
String s = Integer.toString(inverseInt);
String inverseStr="";
if (s.indexOf("-") >= 0) {
amount = s.length() - 1;
stringOutput = "-";
for (int i = 1; i < s.length(); i++) {
stringOutput += s.charAt(i) + " ";
}
stringOutput = stringOutput.trim();
inverseStr="-";
for (int i = s.length()-1; i >0 ; i--) {
inverseStr += s.charAt(i);
}
inverseInt=Integer.parseInt(inverseStr);
} else {
amount = s.length();
stringOutput = "";
for (int i = 0; i < s.length(); i++) {
stringOutput += s.charAt(i) + " ";
}
stringOutput = stringOutput.trim();
inverseStr="";
for (int i = s.length()-1; i >=0 ; i--) {
inverseStr += s.charAt(i);
}
inverseInt=Integer.parseInt(inverseStr);
}
}
public NumberInverse(int input) {
StringBuffer sb = new StringBuffer();
int intTemp = input;
if(intTemp<0){
input = Math.abs(input);
}
char[] strInput = (input+"").toCharArray();
amount = strInput.length;
for(int i=strInput.length-1,j=0;j<=i;i--){
sb = sb.append(" ").append(strInput[i]);
}
stringOutput = (sb.toString()).trim();
inverseInt = Integer.parseInt(stringOutput.replaceAll(" ",""));
if(intTemp<0){
inverseInt= inverseInt*(-1);
stringOutput = "-"+stringOutput;
}
System.out.println(inverseInt);
System.out.println(stringOutput);
System.out.println(amount);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
samsung-R458装Win7运行有时不稳定 CPU爆满死
apple watch 和苹果手机发顺丰 是走空运还是
掉牙齿是什么预兆现实
乔洋《自由小说》的歌词
高悬赏幽灵行动3尖峰战士联机方法
春光泥鳅王在什么地方啊,我要过去处理事情
都是美男啊里面第七集张根锡在草地上后来被猪
张家港到昆山有多远呀?
淮安军星科技学校怎么样?
qq游戏包分好玩吗?
平时的蛋糕店有卖烤蛋糕用的物品吗
加碘的粗盐可以用来减肥吗
爱尚豆花地址在哪,我要去那里办事
形容父亲很可怜的句子,感觉父亲真的很贱很自
关于无线网络问题
推荐资讯
qq三国BB祭魂会顶掉魂法么?是高符好用还是魂
三星s3930c该用那个QQ版本?
QQ华夏所有快捷键?
我想买一个台式电脑的硬盘,问一下大家硬盘有
公司倒闭,欠200多万外债。怎么才能保住房产
谁能送我几个音速种子啊》》
祥和汽车美容快修服务部这个地址在什么地方,
天语V209手机,播放3gp、mp4、avi之类的视频
婚外情很诱人吗?难道外面的要比你家里的要好
1976年的龙与1988年的龙结婚相克吗,木克土有
明明每天睡觉前吃的很多,为什么早上总饿的不
驰加汽车服务中心这个地址在什么地方,我要处
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?