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.
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.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"); } }
Mi aiutate?
mi date almeno un indizio sull'errore fatto?
Grazie


Rispondi quotando