09-06-2010, 10:26 AM
|
#89
|
تاريخ التسجيل: Jul 2008
كلية: كلية الحاسبات وتقنية المعلومات
التخصص: IT
نوع الدراسة: عضو هيئة تدريس
المستوى: متخرج
البلد: جــــدة
الجنس: ذكر
المشاركات: 2,477
|
رد: [cpcs 203 - برمجة 2] لديك سؤال , أفكار , شيء غير مفهوم ,,, تفضل هنا , موضوع مفيد
السلام عليكم
عندي برنامج استخدم فيه 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 num, int 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 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; } public static boolean isEqual (Fraction f1, Fraction f2) throws Exception { if (f1.denominator == 0 || 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 = null, f2 = null, f3; // --> Is Equal try { f1 = new Fraction(1, 1); f2 = new Fraction(1, 1); if (Fraction.isEqual(f1, f2)) { 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()); } }
بالتوفيق .
|
|
سبحان الله وبحمد ,,, سبحان الله العظيم الحمد لله كما ينبغي لجلال وجهه وعظيم سلطانه . اللهم صل على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد . اللهم بارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد.
|
|
|
|