JavaStudy——0044:计算反序数

总时间限制: 1000ms 内存限制: 65536kB

描述
编写函数,参数为一个整数,返回这个整数的反序数,例如参数是1576,返回一个整数6751,如果输入时1230,则返回321。在main函数中调用此函数,并将结果输出。

输入
一个整数
输出
它的反序数

样例输入

0
123
100
-23
-0
-100

样例输出

0
321
1
-32
0
-1

Accepted代码

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int[] a=new int[100];
        while(in.hasNext()) {
            int n=in.nextInt();
            if(n==0)
                System.out.println(0);
            else {
                boolean flag=true;
                if(n<0) {
                    flag=false;
                    n=-n;
                }
                int i=0;
                while(n!=0) {
                    a[i]=n%10;
                    n/=10;
                    i++;
                }
                if(!flag)
                    System.out.print("-");
                boolean flag2=true;
                for (int j=0;j<i;j++) {
                    if((flag2&&a[j]==0))
                        continue;
                    else flag2=false;
                    System.out.print(a[j]);
                }
                System.out.println();
            }
        }
        in.close();
    }
}

另:

import java.util.Scanner;
public class Main {  
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        while(in.hasNext()) {
            String s=in.next();
            if(s.startsWith("-")) {
                if(!s.equals("-0"))
                    System.out.print("-");
                s=s.substring(1);
            }
            else if(s.startsWith("+")){
                s=s.substring(1);
            }
            StringBuffer sbuf=new StringBuffer(s);
            System.out.println(Integer.parseInt(sbuf.reverse().toString()));
        }
        in.close();
    }
}

你可能感兴趣的:(OpenJudge,-,javastudy)