Problema con i metodi in Java

di il
1 risposte

Problema con i metodi in Java

Per imparare a utilizzare i metodi in Java ho provato a fare un esercizio:
una volta estratti n numeri casuali (da 1 a 1000) stampo quello massimo. Il problema è che il risultato del numero massimo è sbagliato.
Qualcuno mi saprebbe spiegare qual'è l'errore?
Grazie!

Questo è il codice:
------------------------------------------------------------------------------------------------------------

package Ripasso;
import java.util.Scanner;


public class Funzioni {
public static void main(String[] args) {
Scanner tastiera = new Scanner(System.in);
int n=0;
int max=0;

do //ciclo che controlla che il numero inserito sia positivo
{
System.out.print("Quanti lanci? ");
n = tastiera.nextInt();

if(n<=0)
System.out.println("Solo valori positivi");
else
break;
}while(true);

for (int i=0;i<n;i++)

System.out.println(numerocasuale()); //stampa dei numeri casuali richiamando il metodo

for (int j=0;j<n;j++)

{
int numero=numerocasuale(); //assegno a una variabile il numero casuale
if (numero>max) //calcolo massimo
max=numero;

}
System.out.println("Massimo" +max); //stampa massimo

}


public static int numerocasuale() //dichiarazione metodo
{
return (int)(1+ Math.random()*1000);
}
}

1 Risposte

  • Re: Problema con i metodi in Java

    Prima stampi a schermo una serie di numeri casuali. Li stampi e basta, senza processarli e nemmeno memorizzarli.

    Poi crei una nuova sequenza di numeri casuali, sui quali calcoli il massimo, dopo di che stampi il massimo di questa sequenza.
    E' questo il problema: stampi una cosa e poi calcoli il massimo su un'altra. L'algoritmo per il calcolo del massimo sembra corretto, ma non lo saprai mai poiche' non mostri i dati sui quali lo calcoli, ma mostri altre cose...
Devi accedere o registrarti per scrivere nel forum
1 risposte