+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

Java, metodo riduzione a minimi termini di una frazione

  1. #1
    helpforc non è in linea Scolaretto
    Post
    66
    Like Inviati  
    0
    Like Ricevuti  
    0
    Salve a tutti.

    Dunque, io ho una classe e il suo rispettivo metodo:

    public classe Frazione
    {
        private int numeratore;
        private int denominatore;
    
         public Frazione riduzioneMinimiTermini(int n, int d)
         {
             Frazione ridotta;
             //Vari casi dove a ridotta vengono assegnati i vari valori in base ai casi appunto..
             return ridotta;
         }
    }
    
    Ho il mio main:

    public static void main(String[] a)
    {
       Frazione f = new Frazione(0, 6);
       Frazione ridotta = f.riduzioneMinimiTermini(0, 6);
    }
    
    Praticamente devo dare in pasto al metodo l'oggetto f, e deve ritornarmi un nuovo oggetto ridotto ai minimi termini.
    Nel caso, ad esempio, la mia frazione fosse 0/6 il metodo dovrebbe tornarmi 0, un solo valore quindi. Dunque, il nuovo oggetto dovrebbe avere 0 come numeratore e.. basta. Però non posso lasciare il campo denominatore dell'oggetto vuoto. Come faccio?

    Grazie

  2. #2
    L'avatar di bottomap
    bottomap non è in linea Moderatore Globale
    Post
    4,130
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao,

    Direi che c'è qualche problema di concetto.

    0 è uguale a 0/1 (così come a 0/6)... se restituisci 0/1 stai restituendo la frazione ridotta ai minimi termini.
    Lo stesso ad esempio se hai 6/2, la sua riduzione sarà l'intero 3, che è poi la frazione 3/1.
    In sostanza quando il risultato della riduzione è un intero X, la frazione corrispondente, da restituire, sarà sempre X/1.

    In alternativa, modificando la classe Frazione, puoi usare degli Integer ed impostare il denominatore a null quando si sta trattando un intero, ma questo impatta poi su qualsiasi altra cosa tu debba fare con quella classe (vanno inseriti tutti gli if necessari - compreso nel tuo metodo riduzioneMinimiTermini - a gestire il caso denominatore==null).
    ℹ️ Leggi di più su bottomap ...

  3. #3
    helpforc non è in linea Scolaretto
    Post
    66
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ho capito, grazie mille

  4. #4
    Post
    6
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao, io ho fatto in questo modo, se può servirti, e mi sembra che funzioni.

    import java.util.Scanner;
    
    public class SemplificareLeFrazioni {
    
    	public static void main(String[] args) {
    		
    		Scanner in = new Scanner(System.in);
    		
    		System.out.print("Inserisci_il_numeratore: ");
    		int num = in.nextInt();
    		
    		System.out.print("Inserisci_il_denominatore: ");
    		int den = in.nextInt();
    		
    		int max=den;
    		
    		if (num>den) {
    			System.out.println("La frazione è propria. ");
    			max=num;
    		}
    		if (num<den) {
    			System.out.println("La frazione è impropria. ");
    			max=den;
    		}
    		int num1=num;
    		int den1=den;
    		
    		for (int i=1; i<max; i++) {
    			
    			if (num%i==0 && den%i==0) {
    				num1=num/i;
    				den1=den/i;
    			}
    		}
    		System.out.println("La frazione semplificata è: " + num1 + " / " + den1 );
    
    	}
    
    }
    
    ℹ️ Leggi di più su Vittorio Esposito ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Interrogazione database & esclusi termini uguali
    Da roccolamann nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 04-02-2016, 11:06
  2. cammini minimi e minimi alberi ricoprenti
    Da guagliunciello nel forum Altri linguaggi e strumenti
    Risposte: 1
    Ultimo Post: 01-07-2012, 10:19
  3. Termini e Condizioni
    Da Skary nel forum Altri linguaggi e strumenti
    Risposte: 6
    Ultimo Post: 08-02-2009, 21:09
  4. Gestire dei numeri in formato frazione
    Da Gior nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 24-01-2009, 22:02
  5. [access & vba] Creazione di un contatore con frazione
    Da Maresca14 nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 10-09-2008, 08:15