الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار عن بعض الرموز في الكود [ Rational Numbers ] ..

بدأه CrEaTiVe4ever في 16 ديسمبر 2011 · 2 رد · 330 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الأعضاء الكرام أطلب منكم مشكورين شرح وظيفة هذين الرمزين في الكلاس الموجود بالأسفل ( : و ? ) ..

Class


public class RationalNumber
{
private int numerator;
private int denominator;

public RationalNumber(int n, int d)
{
numerator=n;
setDenominator(d);
}


public void setNumerator(int n)
{
numerator=n;
}

public int getNumerator()
{
return numerator;
}


public void setDenominator(int d)
{
denominator=((d>0)?d:1);
}


public int getDenominator()
{
return denominator;
}


public RationalNumber add(RationalNumber rn)
{
return new RationalNumber(((getNumerator()*rn.getDenominator())+(rn.getNumerator()*getDenominator())),(getDenominator()*rn.getDenominator()));
}

public RationalNumber multiply(RationalNumber rn)
{
return new RationalNumber(getNumerator()*rn.getNumerator(),getDenominator()*rn.getDenominator());
}

public double getDoubleValue()
{
return ((double)getNumerator()/(double)getDenominator());
}
}

Main


public class RationalNumberTest
{
public static void main(String arg[])
{
RationalNumber rn1=new RationalNumber(3,2);
RationalNumber rn2=new RationalNumber(5,4);


System.out.println(rn1.getNumerator()+"/"+rn1.getDenominator()+" = "+rn1.getDoubleValue());
System.out.println(rn2.getNumerator()+"/"+rn2.getDenominator()+" = "+rn2.getDoubleValue()+"\n\n");


RationalNumber rn3=rn1.add(rn2);
System.out.print(rn1.getNumerator()+"/"+rn1.getDenominator()+" + "+rn2.getNumerator()+"/"+rn2.getDenominator()+" = ");
System.out.println(rn3.getNumerator()+"/"+rn3.getDenominator());


RationalNumber rn4=rn1.multiply(rn2);
System.out.print(rn1.getNumerator()+"/"+rn1.getDenominator()+" * "+rn2.getNumerator()+"/"+rn2.getDenominator()+" = ");
System.out.println(rn4.getNumerator()+"/"+rn4.getDenominator());
}
}

وبالنسبة للسؤال عن الكود فهو كالتالي :

Rational numbers are numbers that can be represented as a fraction p / q where p is an integer number and q is a positive integer (q != 0). Design and implement a Java class

RationalNumber for representing such numbers. Implement methods to add and mutliply rational numbers. Implement a method for return the value of a rational number as a double value. Write a driver class to test your class. here is the class details:

Constructor Summary:

RationalNumber(int numerator, int denominator)

Creates a new RationalNumber with given numerator and denominator.

methods summary:

RationalNumber add(RationalNumber rationaleNumber)

Adds the given

rationaleNumber to this RationalenNumber (the object that you created

from RationalNumber Class) and returns the sum as a new RationalNumber.

int getDenominator()

Returns the denominator of this RationalNumber.

double getDoubleValue()

Returns the value of this RationalNumber as a double value.

int

getNumerator()

Returns the numerator of this RationalNumber.

RationalNumber multiply(RationalNumber rationalNumber)

Multiplies the given rationalNumber to this RationalNumber (the object that you created from

RationalNumber Class) and returns the product as a new RationalNumber

بارك الله فيكم، وجزاكم خير الجزاء :) ..

see ya

تم تعديل هذه المشاركة بواسطة CrEaTiVe4ever في 16 ديسمبر 2011 في 23:22

#2

السلام عليكم ..

  1. هذا التعبير
    denominator= ((d>0)?d:1)

    موجود في لغة الجافا و الـ C# و غيرها ربما ..و الشكل الأساسي له :

    myVar = (Condition)?expression1:expression2

    فإذا تحقق الشرط المنطقي يتم إعادة القيمة المعادة من expression1 و إلا يتم إعادة القيمة المعادة من expression2 .

  2. و هو يكافئ تعليمة الـ if التالية :
    if(d>0) denominator = d; else denominator = 1;

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3
houssam11350_11350 كتب:

السلام عليكم ..

  1. هذا التعبير
    denominator= ((d>0)?d:1)

    موجود في لغة الجافا و الـ C# و غيرها ربما ..و الشكل الأساسي له :

    myVar = (Condition)?expression1:expression2

    فإذا تحقق الشرط المنطقي يتم إعادة القيمة المعادة من expression1 و إلا يتم إعادة القيمة المعادة من expression2 .

  2. و هو يكافئ تعليمة الـ if التالية :
    if(d>0) denominator = d; else denominator = 1;

وعليكم السلام ورحمة الله وبركاته

آهاا .. هي كذلك !

شكراً جزيلاً ..

جزاك الله خيراً وبارك فيك ..

see ya

تم تعديل هذه المشاركة بواسطة CrEaTiVe4ever في 17 ديسمبر 2011 في 02:11

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…