java - 方法返回 False 但预期为 true
问题描述
以下代码用于反转 3 位数字,然后在它们相等时进行检查。主要方法
public class Main {
public static void main(String[] args) {
boolean result= NumberPalindrome.isPalindrome(121);
System.out.println(result);
}
}
倒数方法
public class NumberPalindrome {
public static boolean isPalindrome(int number){
int reserve=100;
int reverseNumber=0;
while (number>0){
int lastDigit=(number%10);
reverseNumber+=(lastDigit*reserve);
reserve/=10;
number/=10;
}
System.out.println("reverse number"+reverseNumber);
if (reverseNumber==number){
return true;
}else {
return false;
}
}
}
我在 while 循环结束后立即给出了一个 print 语句,并且该 print 给出了正确的预期值,但 if 语句给出了 false,即使它必须为真。
解决方案
number
您之前正在更改if
,只需将其分配给另一个值然后检查它。
public class NumberPalindrome {
public static boolean isPalindrome(int number){
int my_num = number;
.
.
.
if (reverseNumber==my_num){
...
number/=10; //this is where number is changing
推荐阅读
- node.js - 在 Restify 中从文件中导入路由
- java - TestNG 异常 - org.testng.TestNGException:在类路径中找不到类:
- javascript - JavaScript 工作者似乎没有在后台运行
- google-maps - 将自动完成结果限制在 place_id 范围内
- c# - 在创建 IHostBuilder 时访问 IServiceCollection
- ag-grid - ag-grid 将样式应用于总页脚
- vue.js - Vue JS:构建命令“npm run build”无法生成“index.html”
- python - 尝试使用 Python 3.8 安装 Keras 并不断发现错误的 CUDA 版本(即使我的 PC 上没有安装 11.0)
- airflow - Airflow (Google Composer) TypeError: can't pickle _thread.RLock objects
- visual-studio-code - 在 VS Code 中使用 powershell ISE 或 Powershell 集成控制台时出现 az cli intellisense 问题