我正在为大学的java类(class)编写一个程序,它反转给定的整数输入。第一个循环运行良好,但由于某种原因,第二个循环甚至没有开始并且程序挂起。我不确定为什么会发生这种情况,也许其他人有答案。我们被告知将值存储在 long 类型的变量中,而不是存储在字符串中。谢谢。 `
Scanner keyboard = new Scanner(System.in); //For user input
long number = 0L; //Where the number entered by the user will be stored
long loopNumber = 0L; //To be able to control the loop more effectively. a do while loop just kept going forever for some reason
int nbDigits = 0; //Where the total number of digits will be stored
long reverse = 0L;//Where the reversed number will be stored
System.out.println("Enter a number with at most 10 digits:");
number = keyboard.nextInt();
keyboard.close(); //Close the Scanner object
//Counting the total number of digits in the number
loopNumber = number;
while(loopNumber != 0) {
loopNumber /= 10;
++nbDigits;
System.out.println("this is the value of nbDigits " +nbDigits );
}
//calculating the reverse order of the entered integer
loopNumber = number;
while(loopNumber != 0) {
reverse *= 10;
reverse = reverse + (number%10);
}
System.out.println("Number of digits is " + nbDigits +"\nReverse of " + number + " is " + reverse);
最佳答案
您永远不会在第二个循环中修改loopNumber
,因此它永远不会结束。
//calculating the reverse order of the entered integer
loopNumber = number;
while(loopNumber != 0) {
reverse *= 10;
reverse = reverse + (number%10);
}
关于java没有进入循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60180428/