suraty
جمعه 14 آذر 1393, 13:09 عصر
با سلام،
مشکلی در رابطه با این برنامه داشتم.
ابتدا interface را به این ترتیب تعریف نموده ام.
public interface M {
int getM();
}
سپس کلاس دیتاست را به این شکل:
public class dataset{
int count=0;
M max;
public dataset()
{
count++;
}
public void add(M val)
{
if(max.getM()>val.getM())
max=val;
count++;
}
public M getmax()
{
return max;
}
و کلاسی به نام B:
public class B implements M{
private int m=0;
public B()
{
}
public B(int t)
{
m=t;
}
public int getM()
{
return m;
}
حال در main نوشته ام:
public static void main(String[] args) {
// TODO code application logic here
dataset d=new dataset();
d.add(new B());
d.add(new B(200));
System.out.println(d.getmax().getM());
System.out.println("Hello...!");
}
اما با خطای NULL point exception مواجه شده ام. به این علت که در تابع افزودن کلاس دیتا ست متغیر max مقدار اولیه نداشته و احتمالا getM تهی است.
اما نمیدانم چگونه آن را رفع نمایم.
لطفا راهنماییم نمایید.
مشکلی در رابطه با این برنامه داشتم.
ابتدا interface را به این ترتیب تعریف نموده ام.
public interface M {
int getM();
}
سپس کلاس دیتاست را به این شکل:
public class dataset{
int count=0;
M max;
public dataset()
{
count++;
}
public void add(M val)
{
if(max.getM()>val.getM())
max=val;
count++;
}
public M getmax()
{
return max;
}
و کلاسی به نام B:
public class B implements M{
private int m=0;
public B()
{
}
public B(int t)
{
m=t;
}
public int getM()
{
return m;
}
حال در main نوشته ام:
public static void main(String[] args) {
// TODO code application logic here
dataset d=new dataset();
d.add(new B());
d.add(new B(200));
System.out.println(d.getmax().getM());
System.out.println("Hello...!");
}
اما با خطای NULL point exception مواجه شده ام. به این علت که در تابع افزودن کلاس دیتا ست متغیر max مقدار اولیه نداشته و احتمالا getM تهی است.
اما نمیدانم چگونه آن را رفع نمایم.
لطفا راهنماییم نمایید.