java - 谁能告诉我这段代码出了什么问题?
问题描述
这是代码片段。我在这里找不到任何问题...有人可以帮忙吗?
while(num != 0) {
rev = rev * 10;
rev = rev + num % 10;
num = num / 10;
}
if (num == rev)
System.out.println("The number is Palindrome");
else
System.out.println("The number is not Palindrome");
解决方案
这段代码的问题是你没有num
在反转变量之前存储它的值。随着while
开始,num
值开始改变。你应该做这个:
int temp = num; // storing the original value
int rev = 0; // initial value of rev
// --------
// while loop logic here
// --------
if(temp == rev) // change your condition here
// and you're good to go
推荐阅读
- sql - 如果值的总和在两个可能的日期范围之间,则返回 ID,并输出它来自哪个日期范围?
- c# - 如何在 C# 中使用 HTTP Post 方法执行 cmds
- c++ - C++中的继承,如何从派生类初始化基类中的成员变量
- node.js - Apollo 服务器通过扩展使用自定义数据抛出错误
- swift - 如何在步进器中使用递增和递减函数,同时使用 onChange 修饰符
- vba - 尝试与现有的浏览器窗口交互
- ios - 在 Apple Silicon 上本机运行的 iOS 应用程序中的 UIView 快照崩溃
- reactjs - 使 React PWA 项目离线(react-scripts 3.4.3)
- javascript - 如何在特定时区转换日期并发送到服务器
- java - Selenium 与 Excel 文档