Buongiorno, devo svolgere un esercizio di questo tipo:
Si legga da console un numero N dispari divisibile per 3, se il numero inserito è corretto si proceda, altrimenti si chieda un nuovo numero fino a che non sia corretto.
inoltre:
1- si crei un array di N numeri interi.
2- si compili l'array di N numeri interi casuali compresi tra 1 ed N.
3- stampi il minimo e il massimo dei numeri presenti nell'array.
4- stampi gli eventuali numeri dell'array uguali ad otto più la loro posizione.
Io ho provato a fare questo ma non funziona bene.....
codice:
import java.util.Scanner;
import java.util.Random;
public class Esercizio2 {
public static void main(String[]args){
Scanner in = new Scanner(System.in);
Random gen = new Random();
boolean done = false;
while(!done){
System.out.println("inserire numero:");
int n = in.nextInt();
if(n%2!= 0 && n%3==0)
{
done = true;
}
else
{
done = false;
}
}
System.out.println("inserire nuovamente il numero di prima per piacere:");
int a = in.nextInt();
int[] numeri = new int[a];
for(int element : numeri)
{
element =1+gen.nextInt(a+1);
}
int maggiore = numeri[0];
for(int i = 1 ; i<numeri.length ; i++){
if(maggiore < numeri[i])
{
maggiore = numeri[i];
System.out.println("il maggiore è:"+maggiore);
}
}
int minore = numeri[0];
for(int i = 1; i<numeri.length ; i++){
if(minore > numeri[i])
{
minore = numeri[i];
System.out.println("il minore è:" + minore);
}
}
int otto = 8;
for(int i=0; i<numeri.length ; i++){
if(numeri[i] == otto)
{
System.out.println("il numero otto è presente nella sequenza ed è in posizione:"+ i);
}
else
{
System.out.println("il numero non c'è");
}
}
}
}
Secondo voi i problemi dove sono?
Grazie in anticipo.

Rispondi quotando