【问题标题】:Trying to split a single int number into separate numbers for an array [duplicate]试图将单个 int 数拆分为数组的单独数字 [重复]
【发布时间】:2013-03-14 23:07:52
【问题描述】:

我知道您可以使用带有.charAt() 行的字符来执行此操作,但我想知道对于整数是否有类似的东西?这是在java中。

编辑:

这是我要执行此操作的代码:

for(int j=0; j<lines; j++){ 
        for (int k=0; k<quizKey.length; k++){
        String lane = userAnswers   
            userIndividualAnswers[k][0] = userAnswers[0].IntAt(k);

        }//end for loop
    }//end for loop

显然这是不正确的,但是使用数学方法我如何能够分别转换 userAnswers 整数? userAnswers 数组中有 5 个整数。

【问题讨论】:

标签: java arrays string integer


【解决方案1】:

如果你有一个整数 I,假设 I = 19478。如果我们使用 I%10,我们得到 8。% 用作模数。它返回除法的其余部分。对模数的一个很好的参考是 -> Wikipedia。在您的情况下,mod 的实现如下。

  int target = 104978;
  int[] ara = new int[6];         

  for(int i=0;i<ara.length;i++)
  {
         ara[i]=target%10; 
         target=target/10;
  }

第一次通过它将 mod 104978 % 10 并返回 8。然后它将对 104978/10 进行整数除法并将目标设置为 10497。第二轮通过它 mods 10497 % 10 = 7 等。我希望这是有帮助。

【讨论】:

  • 另外,如果你想有点低效,你可以转换成字符串,然后执行 char at,但这不如超级聪明的数学方法那么酷!
【解决方案2】:

在字符串表示需要多个数字的意义上,多位数字只是多位数字。考虑到这一点,您最好的选择是使用 toString 并将单个组件提取为整数。

或者,正如上面提到的评论者,使用整数除法和 % 10 来做数学运算。

【讨论】:

  • 不,这是效率最低的方法。另一方面,使用数学是最好的选择。
猜你喜欢
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多