问题描述:
题目要求:
(1)创建MaxArray类:
声明1个一维数组的成员变量,例如:int array[ ]; //一维数组
设置有参构造方法,如:MaxArray(int n){ …… } //有参构造方法,为成员变量创建长为n的一维数组
设置无参构造方法:通过键盘输入数组长度n,然后为成员变量创建长度为n的数组。
设置修改数组元素值的成员方法:int setArray(){ …//输入数组各元素的值 }
设置查找并返回数组最大值的成员方法:int findMax( ){……}
设置输出数组所有元素的成员方法:void output( ){……}
(2)创建主类CreateArray:生成MaxArray类对象,并调用相关成员方法求数组最大值,并输出。
代码块import java.util.*;
class MaxArray{
int len;
int array[];
//有参构造方法
MaxArray(int n){
len=n;
int array[]=new int[len];
}
//无参构造方法
MaxArray(){
Scanner num=new Scanner(System.in);
len=num.nextInt();
int array[]=new int[len];
}
//修改数组元素值的成员方法
void setArray(){
Scanner num=new Scanner(System.in);
for(int i=0;i
array[i]=num.nextInt();
}
}
//查找并返回数组最大值的成员方法
int findMax(){
int max=array[0];
for(int i=0;i
if(array[0]
max=array[i];
}
}
return max;
}
//输出数组所有元素的成员方法
void output(){
for(int i=0;i
System.out.printf(""+array[i]);
if(len%5==0){
System.out.println();
}
}
}
}
public class CreateArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
int max;
//生成MaxArray类对象
MaxArray arr=new MaxArray();
arr.setArray();
arr.output();
max=arr.findMax();
System.out.println("the Max is:"+max);
}
}
无论是调用有参构造方法还是无参构造方法都是这样报错:
请问是哪里出了问题
问题解答:MaxArray(int n){
len=n;
int array[]=new int[len]; //这里定义的array数组是函数内部的局部变量,和类的成员变量array数组虽然同名,但不是一回事。
}