黑马程序员技术交流社区

标题: 找数组中最大数 [打印本页]

作者: ring8677    时间: 2015-5-31 08:36
标题: 找数组中最大数
  1. import java.io.*;
  2. import java.util.*;
  3. class Test5
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 Scanner in  = new Scanner(System.in);
  8.                 int[] arr = new int[5];
  9.                 for (int i=0;i<arr.length ;i++ )
  10.                 {
  11.                         arr[i]=in.nextInt();
  12.                 }
  13.                
  14.                 maxArr(arr);
  15.                 System.out.println(maxArr(arr));
  16.         }
  17.         public int maxArr(int[],arr)
  18.         {
  19.                 int max = arr[0];
  20.                 for (int i=1;i<arr.length ;i++ )
  21.                 {
  22.                         if (arr[i]>max)
  23.                         {
  24.                                 max = arr[i];
  25.                         }
  26.                 }
  27.                
  28.                 return max;
  29.         }



  30. }
复制代码
为什么提示需要标识符
作者: mmakun    时间: 2015-5-31 08:55
方法改成静态的,参数的“,"去掉
作者: mnxnm    时间: 2015-5-31 10:21
  1. package com.itheima;

  2. import java.util.Scanner;

  3. public class test {
  4.        
  5.         public static void main(String[] args) {

  6.     Scanner in  = new Scanner(System.in);
  7.     int[] arr = new int[5];
  8.     for (int i=0;i<arr.length ;i++ )
  9.     {
  10.             arr[i]=in.nextInt();
  11.     }
  12.     in.close();
  13.     System.out.println(maxArr(arr));
  14.         }
  15.        
  16.         public static int maxArr(int[] arr){
  17.             int max = arr[0];
  18.             for (int i=1;i<arr.length ;i++ )
  19.             {
  20.                     if (arr[i]>max)
  21.                     {
  22.                             max = arr[i];
  23.                     }
  24.             }
  25.           
  26.             return max;
  27.         }
  28. }
复制代码

作者: ring8677    时间: 2015-5-31 11:52
mnxnm 发表于 2015-5-31 10:21

多谢,逗号去掉知道了,但为什么要变成静态方法呢,“无法从静态上下文中引用非静态 方法”是啥意思啊
作者: win_rainbow    时间: 2015-5-31 13:17
ring8677 发表于 2015-5-31 11:52
多谢,逗号去掉知道了,但为什么要变成静态方法呢,“无法从静态上下文中引用非静态 方法”是啥意思啊 ...

静态方法直接用类就可以调用,非静态方法必须通过一个类的实例调用,
在main 方法调用本类的非静态方法。必须先new本类,通过这个实例调用
将System.out.println(maxArr(arr))修改为System.out.println(new test().maxArr(arr))后,maxArr()方法就可以不用定义为static了。
作者: ring8677    时间: 2015-5-31 13:39
win_rainbow 发表于 2015-5-31 13:17
静态方法直接用类就可以调用,非静态方法必须通过一个类的实例调用,
在main 方法调用本类的非静态方法。 ...

了解了,多谢大神!!!
作者: 18530919536    时间: 2015-6-1 23:33
学习了,看来掌握的还不够啊
作者: 许鑫    时间: 2015-6-2 00:01
顶 看不懂
作者: 途中ms前进    时间: 2015-6-2 11:29
学习学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2