-2
私はJavaに比較的新しいです。これはこのサイトの最初の投稿です。これまでに何度も使ったことがありますが、今回は私の問題に対する答えが見つかりませんでした。 このコードは動作します私のIDE(JDeveloper)では素晴らしいですが、何らかの理由で、CMDで実行すると特定のパラメータ(例:7844578642 2; 7844578642 16 - IDEではCMDではなく2つのセットが動作します)でハングします。 アイデアは何ですか?JavaプログラムはCMDでハングアップしますが、JDeveloperで正常に動作します。どうして?
class PR13_19 {
public static void main(String args[]) {
long N = 0;
int base = 0,pow = 1;
String result = "";
if(args.length != 2){
System.out.println("Please enter Number and base...");
return;
}
try{
N = Long.parseLong(args[0]);
base = Integer.parseInt(args[1]);
if(!(base >= 2 && base <= 16)) throw new NumberFormatException();
}catch(NumberFormatException | StringIndexOutOfBoundsException exc){
System.out.println("Invalid Input");
return;
}
//converts number N in base 10 to any base "base"
// if base >10 11=A,12=B,13=C....(ex.hexadecimal)
while(pow <= N/base)
pow *= base; //greatest power of "base" >= N
while(pow > 0){
if(N >= pow) {
if(N/pow > 9) result += (char)((N/pow) + 55);
else result += (N/pow);
N -= (N - (N % pow));
}
else result += "0";
pow /=base;
}
System.out.println(result);
}
}