عرض مشاركة واحدة
منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
قديم 09-06-2010, 10:26 AM   #89

Mr.Ahmad

عضو هيئة تدريس

الصورة الرمزية Mr.Ahmad

 
تاريخ التسجيل: Jul 2008
كلية: كلية الحاسبات وتقنية المعلومات
التخصص: IT
نوع الدراسة: عضو هيئة تدريس
المستوى: متخرج
البلد: جــــدة
الجنس: ذكر
المشاركات: 2,477
افتراضي رد: [cpcs 203 - برمجة 2] لديك سؤال , أفكار , شيء غير مفهوم ,,, تفضل هنا , موضوع مفيد

المشاركة الأصلية كتبت بواسطة $RVD$ مشاهدة المشاركة
السلام عليكم
عندي برنامج استخدم فيه try &catch
وهذا الرنامج الغرض منه اذا كان فيه كسرين متشابهين اعمل تري وكتش واذا كان المقام صفر اعمل تري وكتش ياريت تفيدوني انا عملت ابلرنامج بس مو راضي يشتغل معايه ارجو المساعده وجزاكم الله خير
كود:
package homework;
 
 
public class testFraction {
 
 
    public static void main(String[] args) {
      Fraction f1 = null, f2 = null,f3;
    try{
        f1 = new Fraction(1, 1);
        f2 = new Fraction(1, 1);
  if (f1==f2){
        throw new Exception("the first number equal to second number");
 
        }
    }
    catch( Exception e){
  System.out.println(",please try again");      
 
    }
System.out.println("We Have two    Freactions  " +f1.tostring() + " and " + f2.tostring());  
 
        f1=f1.simplify();
        f2=f2.simplify();
 
        System.out.println("The new Freactions  are " +f1.toString()          + " and " + f2.toString());
    }
    }


كود:
package homework;
 
 
public class Fraction {
private int numerator;
    private int denominator;
 
     public Fraction(int num, int denom) {
      setNumerator(num);// numerator=num; 
      setDenominator(denom);// denominator= denom;
}
 
 public void setNumerator(int num) {
        numerator = num;
    }
 
 public void setDenominator(int denom) {
      try{  
       if (denominator==0)
           denominator = denom;
    }catch (ArithmeticException e){
 
                System.out.println("invalid you can not devided by Zero");
 
    }
 }
 public int getNumerator( ) {
    return numerator;
    }
 public int getDenominator( ) {
    return denominator;
    }
 
 
public int gcd(int m, int n) {
        int r = n % m;
        while (r !=0) {
            n = m;
            m = r;
            r = n % m;
        }
        return m;
    }
 
public String tostring( ) {
        return getNumerator() + "/" + getDenominator();
    }
  public Fraction simplify( ) {
        int num   = getNumerator();
        int denom = getDenominator();
        int gcd   = gcd(num, denom);
        Fraction simp = new Fraction(num/gcd, denom/gcd);
        return simp;
    }
}
تصحيح الحل ,,, توجد حلول وطرق عدة ,, وهذا احد الحلول :

كود PHP:
class Fraction {
    private 
int numerator;
    private 
int denominator;
    public 
Fraction(int numint denom) {
        
setNumerator(num);// numerator=num;
        
setDenominator(denom);// denominator= denom;
    
}
    public 
void setNumerator(int num) {
        
numerator num;
    }
    public 
void setDenominator(int denom) {
        
denominator denom;
    }
    public 
int getNumerator() {
        return 
numerator;
    }
    public 
int getDenominator() {
        return 
denominator;
    }
    public 
int gcd(int mint n) {
        
int r m;
        while (
!= 0) {
            
m;
            
r;
            
m;
        }
        return 
m;
    }
    public 
String tostring() {
        return 
getNumerator() + "/" getDenominator();
    }
    public 
Fraction simplify() {
        
int num getNumerator();
        
int denom getDenominator();
        
int gcd gcd(numdenom);
        
Fraction simp = new Fraction(num gcddenom gcd);
        return 
simp;
    }
    public static 
boolean isEqual (Fraction f1Fraction f2throws Exception
    
{
        if (
f1.denominator == || f2.denominator == 0)
        {
            throw new 
ArithmeticException("invalid you can not devided by Zero");
        }
        if ((
f1.numerator == f2.numerator) && (f1.denominator == f2.denominator)) {
            return 
true;
        } else {
            return 
false;
        }
    }

كود PHP:
class testFraction {
    public static 
void main(String[] args) {
        
Fraction f1 nullf2 nullf3;
        
// --> Is Equal
        
try {
            
f1 = new Fraction(11);
            
f2 = new Fraction(11);
            if (
Fraction.isEqual(f1f2))
            {
                
System.out.println ("Is Equal");
            }
            else
            {
                
System.out.println ("Is not Equal");
            }
        }
        catch (
ArithmeticException e)
        {
            
System.out.println(e.getMessage());
        }
        catch (
Exception e) {
            
System.out.println(",please try again");
        }
        
// <<- end
        
        
System.out.println("We Have two    Freactions  " f1.tostring() + " and " f2.tostring());
        
f1 f1.simplify();
        
f2 f2.simplify();
        
System.out.println("The new Freactions  are " f1.toString() + " and " f2.toString());
    }

بالتوفيق .

 

توقيع Mr.Ahmad  

 

سبحان الله وبحمد ,,, سبحان الله العظيم
الحمد لله كما ينبغي لجلال وجهه وعظيم سلطانه .
اللهم صل على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد . اللهم بارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد.

 

Mr.Ahmad غير متواجد حالياً   رد مع اقتباس