试图弄清楚如何制作一个程序来识别相等的数字

所以我真正的问题是,我怎样才能让这段代码在它们从 1 到 99 运行时识别所有“看起来相似”的数字,例如:11、22、33、44,......而程序识别它们时它会发送一个消息。


package doodle;


int num2=11;

for (int i=1; i<100; i++) {

    System.out.println(i);

    int num1=i;

    if(num1==num2) {

        System.out.println("WOW"); 

    }


慕盖茨4494581
浏览 157回答 3
3回答

人到中年有点甜

我会使用字符串for (int i = 11; i < 100; i++) {&nbsp; &nbsp; StringBuffer orig = new StringBuffer();&nbsp; &nbsp; String left = orig.append(i).toString();&nbsp; &nbsp; if (orig.reverse().toString().equals(left)) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(left);&nbsp; &nbsp; }}或者如果你真的想使用int带有片状逻辑的int start = 11;for (int i = 11; i < 100; i++) {&nbsp; &nbsp; if (i == start) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(start);&nbsp; &nbsp; &nbsp; &nbsp; start += 11;&nbsp; &nbsp; }}编辑正如@mark 正确指出的那样,这些解决方案仅适用于范围高达 100

浮云间

int num2=11;for (int i=1; i<100; i++) {&nbsp; &nbsp; if(i%num2==0) {&nbsp; //<---- look alike&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("WOW");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}

炎炎设计

我会使用字符串转换和代码点比较来做到这一点for (Integer number = 0; number < 1000; number++) {&nbsp; &nbsp; System.out.println(number);&nbsp; &nbsp; String stringnumber = String.valueOf(number);&nbsp; &nbsp; if (stringnumber.length() > 1 && stringnumber.codePoints().allMatch((digit) -> digit == stringnumber.codePointAt(0))) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("WOW");&nbsp; &nbsp; }}需要长度检查 (length() > 0) 来排除所有只有一位数字的数字,否则,程序也会打印"WOW"所有数字0 - 9。从0到的所有数字Integer.MAX_VALUE都可以处理。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java