为什么必须写成int max=0;

package dnf;
import java.util.Scanner;
public class ddd {
 public static void main(String[] args){
  int max;
  Scanner a=new Scanner(System.in);
  int[][] marks=new int[2][3];
  for(int i=0;i<marks.length;i++){
   
   for (int j=0;j<marks[i].length;j++){
   System.out.println("请输入第"+(i+1)+"班第"+(j+1)+"个学生的成绩");
   marks[i][j]=a.nextInt();
   }
   }
  for(int i=0;i<marks.length;i++){
    max=marks[i][0];
   for(int j=0;j<marks[i].length;j++){
    if(marks[i][j]>max)
    {
     int t;
     t=max;
     max=marks[i][j];
     marks[i][j]=t;
    }
     }
   }
 System.out.println(max);
 }
}  
附上截图; 
  http://img.mukewang.com/56b9d03f000144d313660768.jpg

只有当我把第五行代码改为int max=0;

程序就可以正常输出了

http://img.mukewang.com/56b9d0e600010f6b13660768.jpg

为什么呢

木木甫
浏览 2091回答 6
6回答

古__月

因为在java中,只要你是在方法中定义了变量,那么就必须要初始化呀如果你是在类级别的话,那么就不会报错,因为此时系统会自动的赋初始值

fx2003

不给max赋值为0,max可能为内存中的一个值,一般要获得max,先将max设为最小值,当后面判断值大于该值时覆盖

duomio

变量使用前需赋值

慕容2676894

java里成员变量JVM可以自动赋初始值,局部变量要自己手动赋初始值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java