Java输入一个年份,输出它后面的第一个4位数字都不相同的年份

java编程题
Java输入一个年份,输出它后面的第一个4位数字都不相同的年份
有人知道怎么做嘛 可以告诉我一下吗 万分感谢



```java
import java.util.Scanner;

public class Year {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个四位数:");
        int s = sc.nextInt();
        for (int i = s; i < 10000; i++) {
            int a = i%10;    // 取出个分位
            int b = i%100/10;    // 取出十分位
            int c = i%1000/100;    // 取出百分位
            int d = i/1000;   // 取出千分位
            if (a!=b && a!=c && a!=d && b!=c && b!=d && c!=d){ //判断各分位不相等
                System.out.println(i);
                break;

            }
        }
    }
}

```

public static void main(String[] args) {
    System.out.println("输入一个年份:");
    Scanner sc = new Scanner(System.in);
    int year = sc.nextInt();
    Set<Character> set = new HashSet<>();
    for (int i = year+1; ; i++) {
        char[] chars = new Integer(i).toString().toCharArray();
        for (char aChar : chars) {
            set.add(aChar);
        }
        if (set.size()==4){
            System.out.println(i);
            break;
        }
        set.clear();
    }
}