Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @(#)Frazione.java
- * @author Massimiliano
- * @version 1.00 2012/10/24
- */
- public class Frazione{
- private long num,den;
- /**
- *costruttore completo della frazione
- *@param n numeratore
- *@param d denominatore
- *@throw Exception lancia una eccezione se $d è pari a 0 o negativo
- */
- public Frazione(long n, long d){
- if(d==0)
- throw new IllegalArgumentException("Il denominatore deve essere diverso da 0");
- else if(d<0)
- throw new IllegalArgumentException("Il denominatore deve essere positivo");
- else
- num=n;
- den=d;
- }//Frazione
- /**
- *costruttore per un oggetto di valore 0
- */
- public Frazione(){
- num=0;
- den=1;
- }//Frazione
- /**
- *ritorna la frazione con $num / $den se $den è >1, altrimenti $num
- *@return stringa
- */
- public String toString(){
- if(den>1)
- return ("Frazione : "+num+"/"+den);
- else
- return ("Frazione : "+num)
- }//toString
- /**
- *minimizza la frazione
- */
- private void minimizz(){
- if(num%den==0){
- num/=den;
- den=;
- }//
- else if(num%den==num){
- num=;
- den/=num;
- }//
- else{
- int []MCD={2,3,4,5,7,9,11,13};//so a priori che i possibili divisori sono questi
- for(int i=0;i<MCD.length();i++)
- if(num%MCD[i]==0 && den%MCD[i]==0){
- num/=MCD[i];
- den/=MCD[i];
- }//if
- }//else
- }//minimizz
- /**
- *@param fraz2 frazione da sommare a this
- *@return nuovo oggetto=somma fra this e $fraz2
- */
- public Frazione add(Frazione fraz2){
- Frazione frazApp = new Frazione();
- frazApp.num= (fraz2.num*den)+(num*fraz2.den);
- frazApp.den= fraz2.den*den;
- frazApp.minimizz();
- return frazApp;
- }//add
- /**
- *@param fraz2 frazione da sommare a $fraz3
- *@param fraz3 frazione da sommare a $fraz3
- *@return somma fra $fraz2 e $fraz3
- */
- public Frazione add(Frazione fraz3, Frazione fraz4){
- return new fraz3.add(fraz4);
- }//add
- /**
- *@param fraz6 frazione da sommare a this
- *@return modifica oggetto=somma fra this e $fraz6
- */
- public void incr(Frazione fraz6){
- Frazione frazApp2 = fraz6.add(this);
- frazApp2.minimizz();
- this.num=frazApp2.num;
- this.den=frazApp2.den;
- }//add
- }//Frazione
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement