【问题标题】:Find minimum value of 2 arguements找到 2 个参数的最小值
【发布时间】:2012-10-14 05:56:54
【问题描述】:

我在这里找不到语法错误。谁能帮我找到这个?

问题是这样的 - (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]);
        }
}

【问题讨论】:

    标签: java arrays command-line if-statement


    【解决方案1】:

    您不能将String 值与&lt; 进行比较,因为它不是原始的 数组也是单数组而不是双数组。

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

        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]);
        }
    

    【讨论】:

    • 谢谢朋友 :) 我会试试这个并回复你
    • 谢谢朋友。这是有效的。非常感谢。我会在 5 分钟后接受答案。上帝保佑你!
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      这是你的问题。 在你的 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

      【讨论】:

        【解决方案4】:

        命令行取的参数是字符串类型,需要先转换成整数或浮点数进行数字比较。

        【讨论】:

          猜你喜欢
          • 2017-04-10
          • 1970-01-01
          • 1970-01-01
          • 2017-09-15
          • 2015-10-25
          • 2018-03-26
          • 1970-01-01
          • 2019-05-28
          • 2013-04-08
          相关资源
          最近更新 更多