Visualizzazione dei risultati da 1 a 5 su 5

Discussione: VerificaVettori

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    26

    VerificaVettori

    Ho ancora bisogno del vostro aiuto.
    Ho scritto un programma: Questo programma riceve due array v1 e v2, verifica che tutti gli elementi di v1 siano maggiori del relativo corrispondente in v2, e nel caso in cui v2 contiene piu' elementi di v1, verifica che quest'ultimi elementi siano tutti positivi.

    codice:
    import system.*;
    
    public class EsercizioVettori{
    	public static boolean VerificaVettori(int[]v1,int[]v2){
    		boolean tuttoOk=true;
    		int i;
    		for(i=0;tuttoOk && i<=v1.length && i<=v2.length; i++){
    			if(v1[i]<=v2[i]){
    				tuttoOk=false;
    			}
    		}
    		if(!tuttoOk){
    			IO.out.print("Almeno un elemento di v1 e' maggiore del suo corrispondende in v2, ");
    			return false;
    
    		}
    	for(;i<v1.length;i++)
    		if(v1[i]<=0)
    			return false;
    		return false;
    	}
    
    	public static void stampa (int[]v){
    		IO.out.print("[");
    		for(int i=0;i<v.length;i++){
    			IO.out.print(v[i]);
    			if(i<v.length-1)
    				IO.out.print(", ");
    		}
    	IO.out.print("] \n");
    	}
    
    	public static void stampaln(int[]v){
    		stampa(v);
    		IO.out.print("");
    	}
    
    	public static int[] leggi(){
    		IO.out.print("Quanti elementi vuoi inserire? ");
    		int dim=IO.in.readInt();
    		int cont=1;
    		int[]v=new int[dim];
    		for(int i=0;i<v.length;i++){
    			IO.out.print("Inserisci "+cont+"§ elemento: ");
    			v[i]=IO.in.readInt();
    			cont++;
    		}
    	return v;
    	}
    
    	public static void main (String[]args){
    
    		IO.out.println("Questo programma riceve due array v1 e v2, verifica che tutti gli elementi\ndi v1 siano maggiori del relativo corrispondende in v2, e nel caso in cui v2\ncontiene piu' elementi di v1, verifica che questi siano tutti positivi;");
    
    		IO.out.print("\nLettura array v1, ");
    		int[]a=leggi();
    		IO.out.print("v1=");
    		stampaln(a);
    		IO.out.print("\nLettura array v2, ");
    		int[]b=leggi();
    		IO.out.print("v2=");
    		stampaln(b);
    
    		IO.out.println("\nquindi l'esito della verifica e': "+VerificaVettori(a,b)+"\n");
    	}
    }
    C'è un problema che non riesco a risolvere: quando nel caso in cui v2 ha più elementi di v1, e uno di questi elementi è negativo mi da un errore che non riesco a risolvere.

    Mi aiutate?
    mi date almeno un indizio sull'errore fatto?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: VerificaVettori

    Originariamente inviato da m3820
    C'è un problema che non riesco a risolvere: quando nel caso in cui v2 ha più elementi di v1, e uno di questi elementi è negativo mi da un errore che non riesco a risolvere.

    Mi aiutate?
    mi date almeno un indizio sull'errore fatto?

    Grazie
    Comincia col dirci che errore ti da
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    26

    Re: Re: VerificaVettori

    Originariamente inviato da Alex'87
    Comincia col dirci che errore ti da
    Perdonatemi

    codice:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
            at EsercizioVettori.VerificaVettori(EsercizioVettori.java:8)
            at EsercizioVettori.main(EsercizioVettori.java:64)

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Re: Re: VerificaVettori

    Originariamente inviato da m3820
    Perdonatemi

    codice:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
            at EsercizioVettori.VerificaVettori(EsercizioVettori.java:8)
            at EsercizioVettori.main(EsercizioVettori.java:64)
    Vedo che nel for iteri fino a ... i <=v1.length... Non va bene, in un vettore di N elementi gli indici vanno da 0 a N - 1 quindi è sufficiente fare i < v1.length.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    26

    Re: Re: Re: Re: VerificaVettori

    Originariamente inviato da Alex'87
    Vedo che nel for iteri fino a ... i <=v1.length... Non va bene, in un vettore di N elementi gli indici vanno da 0 a N - 1 quindi è sufficiente fare i < v1.length.
    Grandissimo Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.