السلام عليكم
عندي برنامج استخدم فيه 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;
}
}