0

ここで構文エラーが見つかりません。誰でもこれを見つけるのを手伝ってもらえますか?

質問はこれです - (2) コマンドライン引数として 2 つの値を取得し、if-else を使用してそれらの 2 つの最小値を見つけるプログラムを作成します。

クラスMinNumber{

{
public static void main(String [] myArray){

    int length = myArray.length;

    if((myArray[0][0]) < (myArray[0][1])){
        System.out.println("Minimum number is : " + myArray[0][0]);
        }
    else{
        System.out.println("Minimum number is : " + myArray[0][1]);
        }
}
4

4 に答える 4

2

Stringプリミティブではないため、値を比較することはできません<。また、配列は double 配列ではなく single 配列です。

以下は安全なコードではありませんが、最も単純です:

    if (Integer.parseInt(myArray[0]) < Integer.parseInt(myArray[1])) {
        System.out.println("Minimum number is : " + myArray[0]);
    } else {
        System.out.println("Minimum number is : " + myArray[1]);
    }
于 2012-10-14T05:58:46.420 に答える
0

コマンド ラインで取得される引数は文字列型です。数値を比較するには、最初に整数または浮動小数点数に変換する必要があります。

于 2012-10-14T06:14:21.227 に答える
0

ここにあなたの問題があります。main で、1 次元配列に注目してください。

public static void main(String [] myArray) 

あなたの体では、2D配列としてアクセスしています。

if((myArray[0][0]) < (myArray[0][1])){
    System.out.println("Minimum number is : " + myArray[0][0]);
    }

デフォルトでは、メイン メソッドは 1 つの引数 (文字列型の要素の配列) を受け入れます。実際には myArray (一次元配列として) から文字列にアクセスし、それに応じて続行するつもりだったと思います。

必要に応じて、http: //docs.oracle.com/javase/tutorial/getStarted/application/index.htmlも参照してください。

于 2012-10-14T06:08:20.800 に答える
0

myArray[0][0]これが、2 次元配列の要素にアクセスする方法です。myArray[0]一次元配列で十分です。

myArray[0]そのため、とから数値を解析し、myArray[1]代わりにそれらを比較する必要があります。

于 2012-10-14T06:01:06.340 に答える