SPOJ添加反转数字

时间:2017-03-04 17:36:24

标签: java numbers

代码如下: -

import java.util.Scanner;
class ADDREV {
    static int result,finalresult,firstNumber,secondNumber;

    //Can here be any problem?      
    public static void main(String[] args)throws Exception {
    // TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
System.out.println("Enter any 2 integers");
//Can here be any problem??
if(s.hasNextInt()) {
    firstNumber=s.nextInt();
    secondNumber=s.nextInt();
    System.out.println(Reverse(Reverse(firstNumber)+Reverse(secondNumber)));
}
s.close();
public static int Reverse(int i) {   
    result=0;
    while(i!=0) {
        result=result*10+i%10;
        i=i/10;
    }   
    return result;
}

提交此代码作为SPOJ平台的解决方案,它说这是“错误的答案”。你能帮我解释一下为什么会这样吗?

输入 - 24 1

预期产出-34 代码在我的系统中运行良好,但SPOJ平台上不接受​​该程序。

1 个答案:

答案 0 :(得分:0)

SPOJ ADDREV

第一个问题是类名,应该是Main。然后输入格式是整数N,后跟N对整数。最后,您应该只将解决方案输出到每个测试用例。

AC代码:

再尝试几次。如果不是AC,那么看看它并尝试理解它并再试一次。

import java.util.Scanner;

public class Main {
    static int result,finalresult,firstNumber,secondNumber;

    //Can here be any problem?      
    public static void main(String[] args)throws Exception {
    // TODO Auto-generated method stub
    Scanner s=new Scanner(System.in);
    int n = s.nextInt();
    while( n > 0 ){
        n--;
        firstNumber=s.nextInt();
        secondNumber=s.nextInt();
        System.out.println(Reverse(Reverse(firstNumber)+Reverse(secondNumber)));
    }
    s.close();
    }
    public static int Reverse(int i) {   
    result=0;
    while(i!=0) {
        result=result*10+i%10;
        i=i/10;
    }   
    return result;
    }
}