gpt4 book ai didi

Java方法: Integer contains 1

转载 作者:行者123 更新时间:2023-11-30 06:04:58 24 4
gpt4 key购买 nike

我正在尝试创建一个方法,如果输入的整数中有一个,则返回 true,如果没有,则返回 false。当输入的数字不包含 1 或以 1 结尾时,该方法可以正常工作。但如果 1 不是 int 中的最后一位数字,则会错误地返回 false。任何想法有什么问题吗?这是我的脚本:

public static boolean hasOne(int n) {
boolean retval = false;

if (n % 10 == 1) {
retval = true;
} else {
dropLastDig(n);
}
return retval;
}

public static void dropLastDig(int input) {
int newNum = input/10;

if (newNum > 0) {
hasOne(newNum);
}
}

1000 应该返回 true

211 应该返回 true

1 应该返回 true

3 应该返回 false

234 应该返回 false

最佳答案

你可以使用递归函数,它更快:

public static boolean hasOne(int n) {
if(n<0) return hasOne(-n); // check for negatives
if(n==0) return false; // exit condition

if (n % 10 == 1) {
return true;
}
return hasOne(n/10);
}

或者将其转换为 String,然后检查:

String.valueOf(n).contains("1");

关于Java方法: Integer contains 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47958552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com