Trovare il numero intermedio tra 3 elementi

di il
4 risposte

Trovare il numero intermedio tra 3 elementi

Buonasera a tutti,

vorrei chiedervi un consiglio, ho sviluppato in java un metodo che implementa un algoritmo per trovare il numero intermedio tra 3 numeri ricevuti dal client, e se i numeri sono tra loro tutti diversi funziona alla grande, però vorrei chiedervi se potete suggerirmi come potrei gestire il caso in cui al metodo arrivino due o più numeri uguali

io per ora ho “presupposto” che numA, numB e numC hanno valori diversi

@GetMapping("/calcolaIntermedio")
public String calcolaIntermedio(@RequestParam Integer numA, @RequestParam Integer numB, @RequestParam Integer numC) {
	if (numA > numB) {
		if (numA < numC) {
			return numA.toString();
		} else {
			if (numC > numB) {
				return numC.toString();
			} else {
				return numB.toString();
			}
		}
	} else {
		if (numB < numC) {
			return numB.toString();
		} else {
			if (numC > numA) {
				return numC.toString();
			} else {
				return numA.toString();
			}
		}
	}
}

4 Risposte

  • Re: Trovare il numero intermedio tra 3 elementi

    Ma se 2 numeri sono uguali cosa dovrebbe restituire?  

  • Re: Trovare il numero intermedio tra 3 elementi

    Ciao, è proprio su questo punto che sono in difficoltà

    la soluzione più semplice che mi è venuta in mente è quella di aggiungere un ulteriore if e di verificare:

    se A=B=C è True mostrare a schermo valore di A

    invece se A=B è True  mostrare a schermo valore minore tra A e C

    invece se B=C è True mostrare a schermo valore minore tra B e A

    però seppur la soluzione dovrebbe funzionare non mi piace perché dovrei comunque aggiungere un altro if

    adesso un'altra soluzione su cui sto ragionando è quella di implementare nel algoritmo il minore-uguale

    --

    EDIT 14:26 - SOLUZIONE TROVATA

    soluzione trovata, stavo facendo confusione

    se A=B il numero intermedio è A 

    invece se B=C il numero intermedio è B

    perchè se per esempio ho A=1, B=1, C=5 se ordino gli elementi avrò {1,1,5}

    invece se ho A=4, B=3, C=3 se ordino gli elementi avrò {3,3,4}

  • Re: Trovare il numero intermedio tra 3 elementi

    Non hai compreso la domanda.

    In realtà se 2 o 3 numeri sono uguali non esiste un intermedio, quindi la risposta dovrebbe essere che “non esiste valore intermedio”

  • Re: Trovare il numero intermedio tra 3 elementi

    Ah ok, quindi devo mettere una pre-condizione che verifichi che i numeri siano tutti e tre diversi, prima di entrare nel algoritmo

    grazie mille per l'aiuto 

Devi accedere o registrarti per scrivere nel forum
4 risposte