2017-01-30 6 views
-1

私はProgramming and LogicクラスIIの宿題に取り組んでいます。私はファーストクラスではうまくいったが、それは3学期前と別の先生に起こった。私はこの最初の割り当てで失われています。どんな援助も、私が逃しているものについてはすばらしいだろう。Programming and Logicの錆びたほこり

Javaプログラムを記述して、コマンドライン引数を使用して特定の基数(基数)の数値を基数10に変換することを実証します。 IntegerメソッドparseInt()と同様に、StringメソッドindexOf()とsubstring()を使用します。

argsの文字列は、 "value:radix"の形式になります。値は、基数に応じた数字で表されます。

"16384:10"は16進数として16384です。 indexOf()を使用してコロンを検索し、substring()を使用して数値と基数を集めます。 4EB:16:10110110:2 407:8 2048:10

提供されるコマンドライン引数があった場合、これらの値は、ベース10

に番号を変換するためのparseInt()への呼び出しを行うために使用することができます出力は次のようになります 4ebベース16は1259ベース10 10110110ベース2 182ベース10 407ベース8は263ベース10 2048ベース10は2048ベース10

これまでの内容は次のとおりです。コンパイルしますが、argsを取るためにそれを得ることはできません。私はパーセントを正しく得ることができないと知っています。 parseIntとして

public class D1 { 
public static void main(String[] args) 
{ int x, col; String number, radix; 

for (x=0; x < args.length; x++) { 
    col = args[x].indexOf(":"); 
    number = args[x].substring(0,col); 
    radix = args[x].substring(col + 1); 
    int base1 = Integer.parseInt(number, 16); 
    System.out.println(number + " base " + radix + " is " + base1 + " base 10"); } 
} } 
+1

何を出力に変換する必要があり、その2番目のパラメータとしてintをとり、そしてどのようにそれが予想される出力の違いは?あなたの質問を編集してください。 – qxz

+0

"私はargsを取ることができません"私たちに十分な情報を与えていません。それが何を期待しているのか、それが何をしているのかを教えてください。 – ajb

+0

申し訳ありません。質問は私には分かりませんでしたので、私が出ようとしていたことも私を私に混乱させていました。私は基数をintに変換してparseIntを処理する必要がありました。 –

答えて

0

はあなたString radixあなたが取得しているint型

radix = args[x].substring(col + 1); 
int base1 = Integer.parseInt(number, Integer.parseInt(radix)); 
+0

まあ、いつも何かシンプルな私は逃した。それはそれをして、私がそれを見ると完全に意味をなさない。ありがとう!!! –

+0

いつも簡単なものです。私の答えが助けてくれたらアップヴォートしてください –