如何将存储数字的整数放入数组中?

时间:2016-04-22 00:08:51

标签: java

所以我有一个整数z,它保存了邮政编码的值,我需要将邮政编码的每个数字存储在数组的一个单独部分。我怎么能这样做?

 private int [] zipDigits = new int [5];
 private int digitCheck;
 private int zipCode;
 public ZipCode(int z)
 {
for(int i = 0; i < 5; i++)
    zipDigits[i] = 
this.zipCode = z;

4 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

public int[] intToDigits(int z) {
    int n = String.valueOf(z).length();
    int[] res = new int[n];
    int i = n - 1;
    while (i >= 0) {
        res[i--] = z % 10;
        z = z / 10;
    }
    return res;
}

这首先得到一个非常明显的长度,你也可以用对数来做到这一点,但我不知道他们的精确度是否会导致问题。然后从数组的后面开始,用mod取最后一位数字,然后用数字除以10来删除这个数字。

编辑: 我现在看到你已经编辑了你的帖子,说明长度是5位数,那么我们不需要自己计算长度,我们可以使用以下算法:

public int[] intToDigits(int z) {
    int[] res = new int[5];
    int i = 4;
    while (i >= 0) {
        res[i--] = z % 10;
        z = z / 10;
    }
    return res;
}

答案 1 :(得分:1)

由于你知道了数字的位数,你可以做一个循环,将除法的余数保存为10并将其保存到数组中,然后除以10。

int zipCode = 1000;
int [] myArray = new int[5];
for(int i = 0; i < 5; i++){
    if(zipCode > 0){
        myArray[i] = zipCode%10;
        zipCode /= 10;
    }
    else
        myArray[i] = 0;
}

答案 2 :(得分:1)

所以你问这个;

你有一个

 int zip = 90210

你想把它放到像这样的数组中

  int [] zipArrary = new int [5];
  String changeZip = Integer.toString(zip);
 for (int i = 0; i < changeZip.length(); i++){
    char c = s.charAt(i);
    int place = Character.getNumericValue(c);
    zipArray[i] = place;      

  }

这样的东西?

答案 3 :(得分:0)

char

现在,您的zip包含在NumOffre

的数组中