输出100-300中的任意两个数相同的三位数(不能三个数都相同)

public class Homework3 {

  public static void main(String[] args) {

    //输出100~300中的任意两个数相同的三位数(注意不要三个数相同的)

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

      int bai = i / 100; //百位

      int shi = i % 100 / 10; //十位 或者 shi = i  / 10 % 10;

      int ge = i % 10; //个位

      if( (bai == shi && shi == ge)) {

        continue;

      }

      if(bai == shi || shi == ge || bai == ge) {

          System.out.print(i + " ");

      }

    }

  }

}

Tips:1、取个位:i % 10, 或 i % 100 % 10,但是后面这种方法比较复杂。

     取十位:i / 10 % 10 ,或 i % 100 / 10,后者更复杂。

     取百位:i / 100

     2、如果该数的百位、十位、个位都相等,有两种处理方法

    if( (bai == shi && shi == ge)) { continue; }

    或者 

    if( !(bai== shi && shi == ge)) { ... }

     3、判断是否两位相等的另一种方法

      if(a == b && a != c) {

        System.out.print(i+" ");
      }
      else if(a == c && a != b) {
        System.out.print(i+" ");
      }
      else if(b == c && a != b) {
        System.out.print(i+" ");
      }

原文地址:https://www.cnblogs.com/zjulanjian/p/10189112.html