【问题标题】:Passing array values to separate method将数组值传递给单独的方法
【发布时间】:2013-09-05 13:14:04
【问题描述】:

在 main 方法中读取一个包含 5 个整数值的数组。创建一个单独的函数来确定哪个数字最大。将最大值返回给 main 并在 main 中打印。 我启动了代码,但我的问题是我不知道如何将我在 main 方法中读取的值(数组值)传递给函数! 我是这样开始的:

import java.util.*;
public class arraybiggest {
    public static int main (String[]args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter 5 values: ");
        int [] x = new int[5];
        for (int i=0; i<5; i++) {
            x[i] = in.nextInt();
            return x;
        }
    }
    public static int  passarray(int [ ] value) {

    }
}

请帮助我!谢谢!

【问题讨论】:

  • 为什么你的main方法返回int?不应该是无效的吗?
  • 我想这不是正确的地方..

标签: java arrays methods return


【解决方案1】:

您可以调用您的函数并将数组传递给它,如下所示:

passarray(x);

但首先您需要从循环中删除return x;

【讨论】:

  • 我还是个初学者!所以也许我做的是错的。你能更正代码并发布它!很大的帮助...我尝试了很多,但这是一个错误!
【解决方案2】:
for (int i=0; i<5; i++) {
        x[i] = in.nextInt();
        }
 passarray(x);

【讨论】:

    【解决方案3】:
    import java.util.*;
    public class arraybiggest {
    
       public static int main (String[]args) {
              Scanner in = new Scanner(System.in);
              System.out.println("Enter 5 values: ");
              int [] x = new int[5];
              for (int i=0; i<5; i++) {
                 x[i] = in.nextInt();           
             }
    
             int result = passarray(x);
             System.out.println("the biggest number is:" +result );
       }
    
    
      public static int  passarray(int [ ] value) {
            int result=value[0]
            for(int i=1;i<value.length;i++){
                if (value[i] > result) {
                    result= value[i];
                }
            }
           return result;
       }
    }
    

    【讨论】:

      【解决方案4】:
          import java.util.*;
          public class arraybiggest {
              public static int main (String[]args) {
                  Scanner in = new Scanner(System.in);
                  System.out.println("Enter 5 values: ");
                  int [] x = new int[5];
                  for (int i =0; i<5; i++) {
                      x[i] = in.nextInt();
                  }
                  System.out.println(findMax(x));
              }
              public static int  findMax(int [ ] value) {
                  int max = value[0];
                  for (int i = 1; i < value.length; i++) {
                      if (value[i] > max) {
                          max = value[i];
                      }
                  }
                  return max;
              }
      
          }
      

      【讨论】:

      • 我不明白:for (int i = 1; i
      • 整数数组'value'的大小。 'value' 基本上是整数数组 x。查看“System.out.println(findMax(x));”这一行in main - findMax(x) 调用 findMax,将 'x' 作为名为 'value' 的参数的值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 2012-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多