如何获取整数的位数并将其存储到数组中? [关闭]

Posted

技术标签:

【中文标题】如何获取整数的位数并将其存储到数组中? [关闭]【英文标题】:How to get the digits of an integer and store it into an array? [closed] 【发布时间】:2022-01-20 05:57:28 【问题描述】:

我对编程很陌生。我在 Programming Praxis 中发现了这个有趣的问题,并被困在如何获取整数的数字并将它们存储到数组中。

老实说,我不知道从哪里开始,我想学习如何在 Java 中做到这一点。

如果您有兴趣,这是我正在处理的问题的代码。

public class MyClass 
    public static void main(String args[]) 
    // Determine all three-digit numbers N having the property that N is divisible by 11, and N/11 is equal to the sum of the squares of the digits of N.
    int num = 100;
    int square_sum = 0;
    int digit1 = 0;
    int digit2 = 0;
    int digit3 = 0;
    while (num <= 999)
        
        if (num % 11 == 0)  //if remainder == 0; the number is divisible by 11// 
           
            // We need to get the digits of int "num" and square them // 
            int arrayDigits[] = new int[3];

             else 
                num++;
        
    

【问题讨论】:

这能回答你的问题吗? How to get the separate digits of an int number? 【参考方案1】:

这是一个示例:(与您的代码不匹配,因此您必须考虑一下)

 int[] arr = new int[] 100, 123, 21;

//get first index of your array
        int a = arr[0];

//turn it into a string
        String b = String.valueOf(a);

//split the string
        String[] c = b.split("");

        System.out.println(c[0]);

通过这种方式,您的String[] c 是一个字符串数组,您可以像访问普通数组一样访问这些值

【讨论】:

【参考方案2】:
public static void main(String args[]) 
    // Determine all three-digit numbers N having the property that N is divisible by 11, and N/11 is equal to the sum of the squares of the digits of N.
    int num = 100;
    int square_sum = 0;
    int digit1 = 0;
    int digit2 = 0;
    int digit3 = 0;
    while (num <= 999) 
        if (num % 11 == 0)  //if remainder == 0; the number is divisible by 11//
            // We need to get the digits of int "num" and square them //
            int arrayDigits[] = new int[3];
            digit1 = num % 10;
            digit2 = (num / 10) % 10;
            digit3 = (num / 100) % 10;
            square_sum = digit1 * digit1 + digit2 * digit2 + digit3 * digit3;
            if ((num / 11) == square_sum) 
                System.out.println(num);
            
        
        num++;
    

如果你想得到 int "num" 的每个数字

digit1 = num % 10;
digit2 = (num / 10) % 10;
digit3 = (num / 100) % 10;

【讨论】:

你能edit你的答案解释为什么这应该回答这个问题以及你改变了什么吗? 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何获取整数的位数并将其存储到数组中? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在C#中获取整数的上下字节并将其作为char数组发送到com端口,如何?

将列表转换为数组并将其存储到文件系统中[关闭]

如何获取“JTextField 数组”的值并将其存储在 Array Integer 中?

如何将数据库中的数据提取到 javascript 文件中并将其存储在数组中?

如何在C ++中将字节数组中的整数转换为数字

如何存储巨大的数组,用于图形[关闭]