Ciao a tutti volevo chiedere a qualcuno che mastica java più di me se mi aiuta a risolvere questo esercizio ...... devo are un esame e sono molto indietro .......



Definire una classe MaxDiff il cui main:

- legge da tastiera una sequenza di numeri interi terminata da un non intero
- calcola la differenza fra il numero più grande e il numero più piccolo della sequenza (0 se la sequenza contiene solo un elemento)
- visualizza a video il risultato .


I miei innumerevoli tentativi sono arrivati a questa soluzione che posto , peraltro sbagliata ...... aiutatemi per piacere .... !!!

import java.util.Scanner;

public class MaxDiff{

public static void main(String[] args) {

Scanner input = new Scanner(System.in);
System.out.println("Immettere una sequenza di interi di almeno un elemento " +
"terminata da una parola o da un non-intero:");

while(!input.hasNextInt()) { // mentre l'utente digita caratteri che non
// corrispondono a numeri interi, svuota il buffer
// (senza salvare l'input perche' va ignorato)
input.next();
System.out.println("immetti almeno un intero"); // segnala l'errore a video
}

// int max , Min = Integer.MIN_VALUE; // inizializza x e max con il primo numero digitato
int x , y , max = 0 , min = 0 ;

while(input.hasNextInt()) {
x = input.nextInt(); // legge un nuovo numero da tastiera
if(x > max) max = x;
// se il nuovo numero e' piu' grande del max, aggiorna max

else if ( x < max ) x = min ;

}
System.out.println("Il massimo e' " + max);
System.out.println("Il minimo e' " + min);


}
}

/*Devo ancora fare la differenza ......
*/