Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 只打印特定数字的数字_Java_Algorithm_Counting - Fatal编程技术网

Java 只打印特定数字的数字

Java 只打印特定数字的数字,java,algorithm,counting,Java,Algorithm,Counting,我试图打印出低于作为命令行参数输入的特定数字(例如430)的数字,该参数包含特定数字(例如2和3)。 因此,我的程序只打印包含2和3且小于430的数字,所以答案是:2,3,23,32,等等 我已经写了一段代码,但由于某种原因,我无法让它工作。 感谢您的帮助! 这是我的密码: public static void main(String[] args) { int input = Integer.parseInt(args[0]); for(int i=0; i<inpu

我试图打印出低于作为命令行参数输入的特定数字(例如430)的数字,该参数包含特定数字(例如2和3)。 因此,我的程序只打印包含2和3且小于430的数字,所以答案是:2,3,23,32,等等

我已经写了一段代码,但由于某种原因,我无法让它工作。 感谢您的帮助! 这是我的密码:

public static void main(String[] args) {
    int input  = Integer.parseInt(args[0]);

    for(int i=0; i<input; i++) {
        String test= Integer.toString(i);
            for(int j=0; j<test.length(); j++) {
                if((test.charAt(j) != '2') || (test.charAt(j)!='3')) {

            }
            else {
                System.out.println("The digit is " + i);
            }
        }
    }
}
publicstaticvoidmain(字符串[]args){
int input=Integer.parseInt(args[0]);

对于(inti=0;i您永远不会到达else块

if((test.charAt(j) != '0')
    || (test.charAt(j)!='1')) {
}
应该是:

if((test.charAt(j) != '0')
     && (test.charAt(j)!='1')) {
}

这是工作代码。在代码中,为什么要检查0和1而不是2和3

public static void main(String[] args) {
    int input = Integer.parseInt(args[0]);
    int two = 0, three = 0;

    for (int i = 0; i < input; i++) {

        String test = Integer.toString(i);

        if (i < 10 && (test.equals("2") || test.equals("3"))) {
            System.out.println("The digit is " + i);
        } else {
            for (int j = 0; j < test.length(); j++) {
                if (test.charAt(j) == '2') {
                    two++;
                } else if ((test.charAt(j) == '3')) {
                    three++;
                }

            }
            if (two >= 1 && three >= 1) {
                System.out.println("The digit is " + i);
            }
            two = 0;
            three = 0;

        }

    }
}
publicstaticvoidmain(字符串[]args){
int input=Integer.parseInt(args[0]);
int二=0,三=0;
对于(int i=0;i=1和三个>=1){
System.out.println(“数字为”+i);
}
二=0;
三=0;
}
}
}

详细说明这意味着什么——“由于某种原因,我无法让它工作”。它目前在做什么?我确实认为您可能需要使用String.contains()方法和&(and)运算符。如果要查找仅由2和3组成的数字,为什么要检查0和1?如果更改
int input=Integer.parseInt(args[0]),代码是否有效
to
int-input=430;
?在您担心其他问题之前,先解决这个问题。
x!=“0”| | x!=“1”
将始终为真。
x
的任何值都不能使该表达式为假,因为它必须同时等于
0
1
,这是不可能的。May从2和3中生成数字是否更容易?当然,您需要找出像430这样的数字的长度。“0和1”不是一个简单的测试用例,因为“0001”看起来更长,因此比430大,但可能不是。嘿,0和1是打字错误,而不是2和3。您的代码仍然生成所有包含2和3的数字,而不是只包含2和3的数字。我不确定如何修复?