PDA

View Full Version : سوال: محاسبه ماکسیمم سه عدد



Sina.iRoid
شنبه 29 شهریور 1393, 09:32 صبح
سلام دوستان. ممنون اگر راهنماییم کنید.

من این برنامه رو نوشتم. اما نمی دونم ایراد از کجاست که جواب آخر صفر میشه. یعنی مقدار maxValue اصلا مقدار دهی نمیشه.

کد کلاس Maximun:


package com.Java.iRoid;


public class Maximun {

private double numberOne;
private double numberTwo;
private double numberThree;
private double maxNumber;

//---Constructor
public Maximun(double n1, double n2, double n3) {
setNumberOne(n1);
setNumberTwo(n2);
setNumberThree(n3);
}

//---setter
public void setNumberOne(double n1){
numberOne = n1;
}
public void setNumberTwo(double n2){
numberTwo = n2;
}
public void setNumberThree(double n3){
numberThree = n3;
}

//---setMax
public void setMax(double n1, double n2, double n3){
double firstMax = Math.max(n2, n3);
maxNumber = Math.max(firstMax, n1);
}

//---toString
public String toString(){
return (maxNumber + "");
}
}


کد کلاس اصلی:


package com.Java.iRoid;


public class DriverClass {


public static void main(String[] args){

Maximun max = new Maximun(10, 12, 14);
System.out.print(max.toString());
}
}


ممنون میشم اگر راهنماییم کنید.

dasssnj
شنبه 29 شهریور 1393, 10:06 صبح
کد را باز نویسی کردم . یک خط به سازنده ی کلاستون اضافه کردم. نگاهش کنید و متوجه اشتباهتون بشید. اخه شما setMax را فراخوانی نکردید چطور انتظار دارید maxNumber مقدار دهی بشه؟

public class Maximun {

private double numberOne;
private double numberTwo;
private double numberThree;
private double maxNumber;

//---Constructor
public Maximun(double n1, double n2, double n3) {
setNumberOne(n1);
setNumberTwo(n2);
setNumberThree(n3);
setMax(n1, n2, n3);
}

//---setter
public void setNumberOne(double n1){
numberOne = n1;
}
public void setNumberTwo(double n2){
numberTwo = n2;
}
public void setNumberThree(double n3){
numberThree = n3;
}

//---setMax
public void setMax(double n1, double n2, double n3){
double firstMax = (double)Math.max(n2, n3);
maxNumber = (double)Math.max(firstMax, n1);
}

//---toString
public String toString(){

return (maxNumber + "");
}
}