2013-11-14 52 views
0

在java中如何可能有一個int數組,並將數組中的所有值添加到數字序列中。將int []轉換爲數值系列

例如:

int[] num= new int[9]; 
for(int i=0; i<num.length; i++) { 
num[i] = i; 
} 

,我需要像一個整數變量:

int a = 12345678910 

從陣列複製。

thx很多提前!

+0

查找到下面的線程: http://stackoverflow.com/questions/2674707/how-to-concatenate-int-values-in-java – Developer

+1

我不知道你在問什麼。你聲明的數組可以有'9'元素,但是在'for'循環中你試圖把數組的值放在大於數組最大索引的索引處。因爲最大整數是'2147483647',所以'12345678910'不能是整數。看起來這是[XY問題](http://meta.stackexchange.com/q/66377/186652),所以也許告訴我們這個值的目的是什麼。也許你應該使用'String'或'BigInteger'來代替'int'? – Pshemo

+0

@Praveen:這個問題是關於連接整數數字到一個字符串。 – Lion

回答

0

有2個問題,在你的代碼,你需要首先解決:

  • 您的數組索引大於數組(11> 9)
  • 你分配給編號「a」是規模更大Ø大的整數類型

你可以試試這個作爲一個解決方案:

StringBuilder numbers = new StringBuilder(); 

    int[] num = new int[9]; 
    for (int i = 0; i < num.length; i++) { 
     num[i] = i; 

     numbers.append(i); 
    } 

    long a = Long.valueOf(numbers.toString()); 

    System.out.println(a); 

請注意,您仍然需要檢查「數字」的最終輸出是不是太大了長。如果是這樣,你需要使用一個可以容納結果值的數據類型。

0

似乎最自然的使用StringBuilder類,因爲這樣處理您的附加2位數字最容易:

StringBuilder sb = new StringBuilder(); 

for(int i = 0; i < 11; i++) { 
    sb.append(i); 
} 

int a = Integer.parseInt(sb.toString()); 
0
int a; 
String aStr = ""; 
int[] num= new int[9]; 
for(int i=0; i<11; i++) { 
aStr = aStr + num[i]; 
} 

a = new Integer(aStr); 
相關問題