2017-02-21 167 views
1

如何將包含十進制數的字符串數組轉換爲大整數?將十進制數組轉換爲biginteger

如:

String s={"1","2","30","1234567846678943"}; 

我當前的代碼:

Scanner in = new Scanner(System.in); 
int n = in.nextInt(); 
String s[]= new String[n]; 

for(int i=0; i < n; i++){ 
s[i] = in.next(); 
} 

BigInteger[] b = new BigInteger[n]; 
for (int i = 0; i < n; i++) { 
    b[i] = new BigInteger(String s(i)); 
} 
+0

你並不需要填充一個「字符串」數組並將其稍後轉換爲一個BigInteger數組。你可以用一個for循環來完成。 'BigInteger [] b = new BigInteger [n]; for(int i = 0; i

回答

1

這裏:

b[i] = new BigInteger(String s(i)); 

應該是:

b[i] = new BigInteger(s[i]); 

換句話說:你的語法的一半是正確的;但隨後似乎忘記了如何讀取已定義的數組插槽:

  • 您使用[索引]方括號(「()」僅用於方法調用)
  • 沒有必要指定「字符串」那表情
0

中鍵入只要使用new BigInteger(s[i]);代替new BigInteger(String s(i));

僅供參考,你真的沒有使用單獨的字符串數組來存儲初始值。您可以直接將它們存儲在BigInteger陣列中。有點像這樣:

Scanner in = new Scanner(System.in); 
int n = in.nextInt(); 

BigInteger[] b = new BigInteger[n]; 

for(int i=0; i < n; i++){ 
    b[i] = new BigInteger(in.next()); 
} 
相關問題