Esercizio java vettori

di il
49 risposte

Esercizio java vettori

Si scriva un metodo analizza che riceve in ingresso un vettore di interi V e restituisce il valore true se ciascun elemento di V è pressente almeno due volte,altrimenti restituisce il valore false.

49 Risposte

  • Re: Esercizio java vettori

    carmela92 ha scritto:


    Si scriva un metodo analizza che riceve in ingresso un vettore di interi V e restituisce il valore true se ciascun elemento di V è pressente almeno due volte,altrimenti restituisce il valore false.
    Ok e quali sono i tuoi dubbi? Hai già scritto del codice? Esponi i dubbi/problemi e vediamo.
  • Re: Esercizio java vettori

    Devo usare un contatore nel secondo for ?
    Ho già scritto del codice,puoi inviarmi il programma completo cosi lo confronto con il mio.
    Grazie.
  • Re: Esercizio java vettori

    carmela92 ha scritto:


    Devo usare un contatore nel secondo for ?
    Innanzitutto ci sarebbe da chiarire una cosa: quando hai detto "se ciascun elemento di V è pressente almeno due volte" io intenderei che nell'array NON ci siano valori "unici" (ovvero NON almeno doppi). Se è così è semplice: basta ragionare un po' nel senso opposto. Ovvero, a te basta trovare che un valore è appunto "unico" (cioè non lo trovi ripetuto più avanti) per dare false in uscita.

    carmela92 ha scritto:


    puoi inviarmi il programma completo cosi lo confronto con il mio.
    Mi spiace, qui non si fanno i "compiti" per gli altri. Se hai dubbi o problemi esponili (con magari del tuo codice) e si può vedere.
  • Re: Esercizio java vettori

    carmela92 ha scritto:


    Ho già scritto del codice,puoi inviarmi il programma completo cosi lo confronto con il mio.
    Questa è la prima volta che la leggo
  • Re: Esercizio java vettori

    Voglio realizzare un programma che che mi fa immettere nomi e numeri di pagine di un libro e ne stampi a video la lista e quello con maggior nuoero di pagine.
    Ho fatto così;
    import java.util.Scanner;
    
    class Libro {
    	 private String titolo;
    	 private int pagine;
    	 public void leggiDati(int i) {
    		 
    	 
    		Scanner scanner = new Scanner (System.in);
    		
    			System.out.print("Inserisici il titolo del libro "+(i+1)+": ");
    			String titolo = scanner.nextLine ();
    			System.out.print("Inserisci il numero di pagine: ");
    			int pagine  = scanner.nextInt();		
    		}
    		public int numpag()
    		{
    			return pagine;
    			
    		}
    
    public class ProgLibri {
    
    	public static void main(String[] args) {
    		int i=0;
    		Libro maggiore;
    		Libro libri[] = new Libro[3];
    		for (i=0; i<libri.length; i++)
    		{
    			libri[i]= new Libro();
    			libri[i].leggiDati(i);
    			
    		}
    
    		maggiore=libri[0];
    		for ( i=0; i<libri.length; i++)
    		{
    			if (libri[i].numpag()>maggiore.numpag())
    				maggiore=libri[i];
    		}
    		for(i=0; i<libri.length; i++)
    		{
    			System.out.print("\n"+libri[i]);
    		}
         System.out.print("\nIl libro con maggior numero di pagine è: "+maggiore);
    }
    }
    Il rusltato è questo:
    Libro@154617c
    Libro@a14482
    Libro@140e19d
    Il libro con maggior numero di pagine è: Libro@154617c
  • Re: Esercizio java vettori

    Il risultato della "stampa" degli oggetti è quello perché non hai ridefinito il toString()

    Vedi anche sul mio blog:
    https://andbin.wordpress.com/2017/08/26/il-metodo-tostring-degli-oggetti-in-java/
  • Re: Esercizio java vettori

    Facendo quello che hai detto tu mi esce il problema sul tostring e non so come risolverlo.Eclipse me lo sottolinea.
    public class MediaRdm {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		float media=0,numero=0, somma=0;
    		float n[] = new float[5]; //definisco un array di 5 numeri
    		
    		//Ciclo for per assegnare i valori casuali ai cinque numeri dell'array
    		for (int i=0; i<5; i++)
    		{
    			numero = (float)(Math.random());
    			n[i]= numero; //asegnazione dei  valori casuali ai numeri dell'array
    			System.out.println("\n Il numero generato è n"+i+": " +numero);
    			
    			}
    		//Ciclo for per la somma dei cinque numeri dell'array
    			for (int i=0; i<5; i++)
    			{	
    			somma = somma + n[i];}
    			System.out.println("\nSomma = "+somma);
         		media = somma/5;
    
    		System.out.println("\nLa media è: "+media);
    		for (int i=0; i<5; i++)
    		{
    			System.out.print("\n"+n[i]);
    		}
    
    	}
    
    }
    però questo funziona e scrive tutto l'array.Cosa cambia??
  • Re: Esercizio java vettori

    Supponendo di dichiarare il seguente vettore:

    Vector v = new Vector(10);

    Se utilizzo questo vettore in un programma, la dimensione resta fissa a 10 oppure, se si verificasse la necessità, aumenta?
  • Re: Esercizio java vettori

    trixy ha scritto:


    però questo funziona e scrive tutto l'array.Cosa cambia??
    Scusa eh ma prima parlavi di oggetti Libro ... lì è un'altra cosa, non c'entra con quanto hai fatto in MediaRdm !

    trixy ha scritto:


    Vector v = new Vector(10);

    Se utilizzo questo vettore in un programma, la dimensione resta fissa a 10 oppure, se si verificasse la necessità, aumenta?
    Le collezioni standard di Java sono espandibili. In new Vector(10) il 10 è solo la capacità fisica iniziale dell'array interno (ma il numero "logico" di elementi iniziale è 0)
  • Re: Esercizio java vettori

    Le collezioni standard di Java sono espandibili. In new Vector(10) il 10 è solo la capacità fisica iniziale dell'array interno (ma il numero "logico" di elementi iniziale è 0)
    Quindi se metto 12 elementi il vettoresi espenade automaticamente?

    Per quanto riguarda la stampa dell''array precedente io continuo a non capire. Sono esercizi tutto dello stesso capitolo, non so come fare. Il toString eclipse me lo sottolinea in rosso
  • Re: Esercizio java vettori

    @trixy, evita di fare una domanda quando hai la risposta nel post precedente!
    LEGGILI i post, NON SOLO QUELLI che seguono il tuo!

    Ed impara anche a CERCARE CON GOOGLE: il 99.9% dei tuoi dubbi li puoi risolvere cosi'.

    Poi, se continui a non capire, siamo qui' per aiutare.
  • Re: Esercizio java vettori

    Infatti scrivo perchè non capisco
  • Re: Esercizio java vettori

    Come lo stai dichiarando il toString ()?

    Inoltre la stampa dell'array di numeri funziona semplicemente perché i vari metodi print/printf/println ... sono ridefiniti per i tipi primitivi, ovviamente vedrai stampato il valore numerico corrispondente al numero. Qual'è il dubbio?

    Non si può richiamare un metodo su un tipo primitivo. Se passi ai metodi print un Object (e ovviamente tutte le sottoclassi, ovvero ogni classe che potrai mai definire), invece, verrà stampata a video la stringa ottenuta dalla chiamata del toString () sull'oggetto, che se non ridefinisci è quella roba che hai postato tu.
  • Re: Esercizio java vettori

    Non è che ho dubbi.Non so nemmeno cosa significhi ridefinire un toString().
    io ho fatto libri.toString().

    Ripeto che non sono un esperto.Sono semplicemente ai primi esercizi.
Devi accedere o registrarti per scrivere nel forum
49 risposte