Java 如果一个数字是3的倍数或其中有数字3,则定义为3Den。给定一个数字num作为输入,计算1和num之间的3Den数

Java 如果一个数字是3的倍数或其中有数字3,则定义为3Den。给定一个数字num作为输入,计算1和num之间的3Den数,java,Java,样本输出1 count(15) 样本输入2 6 (3,6,9,12,13,15) 样本输出2 count(40) 我的代码在100个输入内通过所有测试用例,但在100个输入后失败。怎么办 21 (3,6,9,12,13,15,18,21,23,24,27,30,31,32,33,34,35,36,37,38,39) 如果条件不好。例如,number:134是数字3Den,但在if语句中不会返回true 提示:例如,您需要创建while循环并使用指数,如:i/10^a%10==3 方法2:

样本输出1

count(15)
样本输入2

6 (3,6,9,12,13,15)
样本输出2

count(40)
我的代码在100个输入内通过所有测试用例,但在100个输入后失败。怎么办

21 (3,6,9,12,13,15,18,21,23,24,27,30,31,32,33,34,35,36,37,38,39)
如果条件不好。例如,number:134是数字3Den,但在if语句中不会返回true

提示:例如,您需要创建while循环并使用指数,如:i/10^a%10==3


方法2:不太整洁的做法是将int i更改为String,然后使用String.contains或String.indexOf

添加更多解释失败是什么意思,它是否会给出编译错误或运行时错误等?例如300是输入,其中我的代码只给出126个3den,而输出结果是138。是的,但通过类比,你会得到false:1300,10300等。
21 (3,6,9,12,13,15,18,21,23,24,27,30,31,32,33,34,35,36,37,38,39)
if((i%3==0) || (i%10==3) || (i/10==3) || (i/100==3) ))
public class NextMultiple37 {

    public static void main(String[] args) {
        NextMultiple37 obj = new NextMultiple37();
        int result = obj.findNextMultiple(1024);
        System.out.println(result);
    }

    public int findNextMultiple (int num) {
        //write your code here
        int i=0;
        for(i=num+1;i>=num;i++){
            if(i%3==0&&i%7==0){
                return i;
            }
        }
        return i;
    }   
}