Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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 - Fatal编程技术网

查看java中数字的不同或相同数字

查看java中数字的不同或相同数字,java,Java,如何知道7位数字的所有数字是否都不同?例如,我正在生成一个7位数的随机数,这个数是7493759。此数字可以是6、8或10位数字。如何检查此数字的数字是否相同?您可以将int转换为字符串以及其中不同字符的计数。如果计数大于或等于字符串长度,则数字不是唯一的 演示: class Main { public static void main(String[] args) { int num = 7493759; // Test System.o

如何知道7位数字的所有数字是否都不同?例如,我正在生成一个7位数的随机数,这个数是7493759。此数字可以是6、8或10位数字。如何检查此数字的数字是否相同?

您可以将
int
转换为
字符串以及其中不同字符的计数。如果计数大于或等于字符串长度,则数字不是唯一的

演示:

class Main {
    public static void main(String[] args) {
        int num = 7493759;
        // Test
        System.out.println(areDigitsUnique(7493759));
        System.out.println(areDigitsUnique(1234567));
    }

    static boolean areDigitsUnique(int num) {
        String strNum = String.valueOf(num);
        return strNum.chars().distinct().count() >= strNum.length();
    }
}
false
true
输出:

class Main {
    public static void main(String[] args) {
        int num = 7493759;
        // Test
        System.out.println(areDigitsUnique(7493759));
        System.out.println(areDigitsUnique(1234567));
    }

    static boolean areDigitsUnique(int num) {
        String strNum = String.valueOf(num);
        return strNum.chars().distinct().count() >= strNum.length();
    }
}
false
true

如果一个
n
-位数具有相同的位数,则它可以被
11..11
整除(n1):

public静态布尔值Aredigitthesame(int n){
int d=String.valueOf(n).length();
整数除数=0;
而(d-->0){
除数=除数*10+1;
}
返回n%除数==0;
}

以下是代码的简短描述:

  • 将输入作为字符串。(如果输入不是字符串,请将其转换为字符串)
  • 将字符串转换为字符数组
  • 创建一个集合并将char数组的所有元素放入集合中
  • 如果字符数组的长度与集合的大小相同,则所有元素都不同(集合不包含重复项)
导入java.util.*

public class Main{
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String num = input.next();
        char[] c = num.toCharArray();
        Set<Character> set  = new HashSet<>();
        for(int i=0; i<c.length; i++) {
            set.add(c[i]);
        }
        if(c.length == set.size()) System.out.println("Digits are different");
        else System.out.println("Some digits are same.");
    }
}
公共类主{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
String num=input.next();
char[]c=num.toCharArray();
Set=newhashset();

对于(int i=0;i如果要检查数字中的某个数字是否重复,可以从数字中生成一个字符串,然后循环比较这些字符。例如:

public class Main {

    public static void main(String[] args) {

        int integer = 1234556;
        String number = String.valueOf(integer);

        System.out.println(numberRepetition(number));

    }
    
    static boolean numberRepetition(CharSequence s) {
        for (int i = 0; i < s.length(); i++) {
            for (int j = i + 1; j < s.length(); j++) {
                System.out.println("Comparing: " + s.charAt(i) + " to: " + s.charAt(j));
                if (s.charAt(i) == s.charAt(j)) {
                    return true;
                }
            }
        }
        return false;
    }
}
公共类主{
公共静态void main(字符串[]args){
整数=1234556;
字符串编号=String.valueOf(整数);
System.out.println(number请求(number));
}
静态布尔数请求(字符序列){
对于(int i=0;i
是否要检查数字是否仅包含一个重复数字,如
111111
2222222
3333333
?换句话说,所有“此数字的数字都相同”?这听起来与用户14846862非常相关-有任何更新吗?如果其中一个答案解决了您的问题,您可以通过将其标记为已接受来帮助社区。已接受的答案有助于未来访问者自信地使用解决方案。为了实现此目的,您需要单击大复选标记(✓) 在答案的左边。注意:一个问题只能接受一个答案。但是,一旦你有15个以上的信誉点,你可以根据自己的意愿回答任意多个问题。//将字符转换为整数并“附加”到num.num=num*10+位数。charAt(d)-“0”;你在这里做了什么?写“-0”有什么作用? @WJS@user14846862我修改了我的另一个答案,并在最后做了详细的解释。请查看。如果您还有更多问题,请告诉我。