我正在尝试使用Java语言来解决uva Reverse和Add的问题。下面的代码编译并运行正常,但显示错误的答案。我做错了什么?
以下是我从自动回复中收到的电子邮件。
您提交的问题编号为18677556,问题10018 - 反向和添加已收到判决错误答案。
虽然您的程序在编译和执行阶段成功,但它无法解决建议的问题。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int testCaseCounter = 1;
int testCase = 0;
testCase = in.nextInt();
while(testCaseCounter <= testCase) {
int originalNumber = in.nextInt();
int counter = 0;
boolean isPalindrome = false;
while(isPalindrome == false) {
int reversedNumber = reverseNumber(originalNumber);
int sum = originalNumber + reversedNumber;
int tempSum = sum;
counter++;
if( isPalindrome(sum) ) {
System.out.println(counter+" "+sum);
isPalindrome = true;
} else {
originalNumber = tempSum;
reversedNumber = 0;
}
}
testCaseCounter++;
}
in.close();
}
public static int reverseNumber(int originalNumber) {
int reversedNumber = 0;
while(originalNumber != 0) {
int remainder = originalNumber % 10;
reversedNumber = 10*reversedNumber + remainder;
originalNumber /= 10;
}
return reversedNumber;
}
public static boolean isPalindrome(int summedNumber) {
int palindromeNumber = 0;
int tempPalindrome = summedNumber;
while( summedNumber != 0 ) {
int remainder = summedNumber % 10;
palindromeNumber = 10*palindromeNumber + remainder;
summedNumber /= 10;
}
if(tempPalindrome == palindromeNumber) {
return true;
} else {
return false;
}
}
}
答案 0 :(得分:0)
仔细检查输出与输入完全相同。在添加之前或之后,请仔细检查没有空格,然后将其作为相同类型返回。自动标记有时可以是B____ ......