【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

Java初心者です。
以下のブログラムをコマンドライン引数が実数の場合に処理できるよう
にしたいのですが、うまくいきません。どうしたらいいでしょうか?
申し訳ありませんが、ご回答、よろしくお願いいたします。

public class Narabikae {
public static void main(String[] args) {
int i = 0, j = 0, k = 0;
double[] num = new int[args.length];
for(i = 0; i < args.length; i++) {
double num[i] = Double.parseDouble(args[i]);
}
if (0 < args.length) {
for(j = 0; j < args.length-1; j++) {
for(i = j + 1; i < args.length; i++ ) {
if(num[j] > num[i]) {
k = num[j];
num[j] = num[i];
num[i] = k;
}
}
}
for(i = 0; i < args.length; i++) {
System.out.print(num[i]);
if (i != args.length-1) {
System.out.print(" ⇒ ");
}
}
} else {
System.out.println("並び替えできません。");
}
}
}

A 回答 (2件)

//普通に出来るようだが?


//ただし【型の記述が大分間違ってたけど】

public class Narabikae {
public static void main(String[] args) {
int i = 0, j = 0;
double k = 0; /* kはdoubleだ!*/
double[] num = new double[args.length]; /* 型がおかしい */
for(i = 0; i < args.length; i++) {
num[i] = Double.parseDouble(args[i]);
}
if (0 < args.length) {
for(j = 0; j < args.length-1; j++) {
for(i = j + 1; i < args.length; i++ ) {
if(num[j] > num[i]) {
k = num[j];
num[j] = num[i];
num[i] = k;
}
}
}
for(i = 0; i < args.length; i++) {
System.out.print(num[i]);
if (i != args.length-1) {
System.out.print(" ⇒ ");
}
}
} else {
System.out.println("並び替えできません。");
}
}
}
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ご指摘いただいた通り、型の記述を直しましたら、解決しました。
まだまだ理解してない面があるようでお恥ずかしいです。
2日間も悩んでいたので、助かりました。
ありがとうございました。

お礼日時:2007/06/17 10:30

#1


『小数』じゃなくて『実数』か

分数と平方根は入力方法とか教えてもらわないと考えられないかも・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
分数や平方根は入力対象に入っていませんでした。
なので、「小数も表示できるようにする」が正しい質問でした。

お礼日時:2007/06/17 10:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報