我试图通过调用不同的方法来反转输入的整数。我有这个
import java.util.*;
public class reverseDigit
{
public static int reverseDigit(int number) //digit reversing method
{
int reverse= 0;
while(number >= 0)
{
reverse = reverse*10 + number%10;
number = number/10;
}
return reverse;
}
static Scanner console = new Scanner (System.in);
public static void main (String[]args) //main method
{
int number;
System.out.println("Enter an interger to be reversed");
number = console.nextInt();
System.out.println(number+"reversed is:"+ reverseDigit(number));
}
}
撞墙,所以感谢任何帮助。
答案 0 :(得分:4)
使用
while(number > 0)
当数字变为零时,它保持为零,因此你处于无限循环中。
答案 1 :(得分:0)
看起来您的程序处于由行while(number >= 0)
引起的无限循环中。在IDE中使用调试器可以帮助您快速找到此问题。用while(number > 0)
替换该行以纠正无限循环。
答案 2 :(得分:0)
或者你可以用字符串做到吗?
static int reverse(int number){
String temp = String.valueOf(number);
StringBuilder reversedTemp = new StringBuilder(temp);
reversedTemp.reverse();
return Integer.parseInt(reversedTemp.toString());
}
或者用一个单线来加强它的味道!
static int reverse(int number){
return Integer.parseInt(new StringBuilder(String.valueOf(number)).reverse().toString());
}