为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕盖茨4494581 2021-12-30 17:16:10
所以我真正的问题是,我怎样才能让这段代码在它们从 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");     }} 
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

我会使用字符串


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

    StringBuffer orig = new StringBuffer();

    String left = orig.append(i).toString();

    if (orig.reverse().toString().equals(left)) {

        System.out.println(left);

    }

}

或者如果你真的想使用int带有片状逻辑的


int start = 11;

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

    if (i == start) {

        System.out.println(start);

        start += 11;

    }

}

编辑


正如@mark 正确指出的那样,这些解决方案仅适用于范围高达 100


查看完整回答
反对 回复 2021-12-30
?
浮云间

TA贡献1829条经验 获得超4个赞

int num2=11;

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

    if(i%num2==0) {  //<---- look alike

        System.out.println("WOW");

         }


查看完整回答
反对 回复 2021-12-30
?
炎炎设计

TA贡献1808条经验 获得超4个赞

我会使用字符串转换和代码点比较来做到这一点


for (Integer number = 0; number < 1000; number++) {

    System.out.println(number);


    String stringnumber = String.valueOf(number);


    if (stringnumber.length() > 1 && stringnumber.codePoints().allMatch((digit) -> digit == stringnumber.codePointAt(0))) {

            System.out.println("WOW");

    }

}

需要长度检查 (length() > 0) 来排除所有只有一位数字的数字,否则,程序也会打印"WOW"所有数字0 - 9。


从0到的所有数字Integer.MAX_VALUE都可以处理。


查看完整回答
反对 回复 2021-12-30
  • 3 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信