我需要編寫一個適用於所有n值的簡短程序。 n是一個命令行參數(args [0])。問題是Integer.parseInt不適用於較大的值,如20000000000.我能做些什麼來解決這個問題?該程序旨在打印所有值爲2的值,直到該值> = n且n必須爲參數[0]。Java - 如何解析大型int作爲命令行參數?
public class PowerOfTwo{
public static void main(String[] args){
int k = 1;
int n = Integer.parseInt(args[0]);
if(n < 0){
System.out.println("");
}else{
for(int i=1; k <= n; i++){
k *= 2;
if(k <= n){
System.out.println(k);
}else{
System.out.println();
}
}
}
}
}
請嘗試將字符串傳遞到BigInteger(String)構造函數中,否則將引發異常? – 2014-10-27 11:34:34