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值,<因为它不是原始的数组也是单数组而不是双数组。

以下不是安全代码,但最简单:

    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

myArray[0][0]这就是您访问二维数组元素的方式。myArray[0]一维数组就足够了。

因此,您应该将数字解析出来myArray[0]myArray[1]进行比较。

于 2012-10-14T06:01:06.340 回答
0

这是你的问题。在您的 main 中,请注意一维数组?

public static void main(String [] myArray) 

在您的身体中,您正在以二维数组的形式访问它。

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

默认情况下,main 方法接受一个参数:String 类型的元素数组。我假设您实际上打算从 myArray 访问字符串(作为一维数组)并相应地继续。

如果需要,也可以参考:http: //docs.oracle.com/javase/tutorial/getStarted/application/index.html

于 2012-10-14T06:08:20.800 回答
0

命令行采用的参数是字符串类型,首先需要将它们转换为整数或浮点数进行数字比较。

于 2012-10-14T06:14:21.227 回答