Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 ITPS - Secondo Anno
 Algoritmi e Strutture Dati + Lab.
 JAVA

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
Mauris Inserito il - 18/11/2008 : 10:28:23
RAGAZZI IO HO QUESTO CODICE:


import java.util.Scanner;
import java.io.*;

public class gestionearray {
	
	public static void leggiarray (int []a)  //acquisisce elelemti da tastiera
	{
		int i;
		
		Scanner input = new Scanner (System.in);
		
		for (i=0;i<a.length;i++){
			
			System.out.println (" inserisci elemento di indice "+ ":");
			a[i] = input.nextInt();		} 
	}
		
		
	
	public static void stampaarray (int []a) {    //stampa elementi sul terminale
	
	int i;
	for (i=0;i<a.length;i++ ) 
		System.out.println(a [i]+ ":");
		System.out.println();
	

} 


public static  boolean search ( int []a, int k)  {

	int i = 0;
	Scanner input = new Scanner (System.in);	
	 
		
	
	k = input.nextInt();
			
	boolean trovato;
	trovato = false;
	
	

	for (i=0;i<a.length;i++)
	{

	if (a[i]==k)
		trovato = true;}
	
return trovato;
	}



}

ACQUISISCO GLI ELEMENTI , LI STAMPO MA POI NON RIESCO AD EFFETTUARE LA RICERCA. PERCHè NON MI FA FARE LA RICERCA???

QUESTO è IL MAIN

import java.util.Scanner;
public class testgestionearray {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		
		int []a;
		int k = 0;
		
		a = new int [10];   //creo l'oggetto array
		
		gestionearray.leggiarray(a);
		
		gestionearray.stampaarray(a);
		
		gestionearray.search (a,k);
		
		
		

	}

}
18   U L T I M E    R I S P O S T E    (in alto le più recenti)
genius Inserito il - 19/11/2008 : 18:30:53
Citazione:
Messaggio inserito da Mauris

avevi ragione grazie, non ho capito bene perchè non era possibile quella ugualianzalo capirò da solo. grazie mille



l'errore non è l'ugualianza, ma il fatto che il ciclo for era in realtà vuoto (in java il ';' segna la fine di un'istruzione). In pratica nel ciclo non facevi niente se non aumentare i. All'uscita dal ciclo i ha valore 'a.length', e quindi effetti una sola assegnazione, cioè c[a.length] = a[a.length], che è ovviamente errata dato che l'indice di un vettore parte da 0 e arriva a a.length-1.

E' + chiaro ora?
Mauris Inserito il - 19/11/2008 : 17:53:21
avevi ragione grazie, non ho capito bene perchè non era possibile quella ugualianzalo capirò da solo. grazie mille
Mk178 Inserito il - 19/11/2008 : 13:58:04
ahahaha odio quando succede!!!
come previsto era il ciclo for ad avere un problema....
public static int [] copia (int []a) {
	int []c;
	int i;
	c = new int[a.length]; //costruisce un nuovo array di dimensione uguale ad a[]
	for (i=0;i<a.length;i++);//<-- Vedi bene QUI 
	{c[i]= a[i];}
	return c;
	}

...Poniamo ke a sia un vettore di interi di 10 elementi...
questo codice, così cm è, crea un array d interi c;
crea una variabile intera i;
alloca l'array c, come array di interi di lunghezza pari a quella di a, cioè 10;
incrementa i da 0 a 9, incrementa ancora di uno, esce xkè la condizione i<a.length nn è + valida;
assegna a c[10]=a[10];IMPOSSIBILE xkè entrambi hanno indice massimo pari a 9;

Potevo semplicemente dirti di cancellare quel punto e subito dopo l'istruzione for, ma sarebbe stato troppo semplice... ;P

Ciao
Mk178 Inserito il - 19/11/2008 : 13:31:35
java.lang.ArrayIndexOutOfBoundsException è un eccezione ke viene lanciata quando si accede ad un elemento dell array, con un indice errato, c sarà qualkosa nel ciclo for...es. se V è un array di 10 elementi V[10] lancia l'eccezione, xkè l'indice di V va da 0 a 9...Mi costringi ad aprire eclipse, cosa ke nn m andava d fare sinora...;P t faccio sapere tra un pò


@velikomrsic ho già visto il tuo topic, se potevo aiutarti, l'avrei già fatto...io faccio TPS è credo ke sia un pò differente ASD a noi.sorry
Mauris Inserito il - 19/11/2008 : 13:20:09
inoltre mi indica che la variabile copia non è mai letta, cio "is never read". questo nel main mi succede
Mauris Inserito il - 19/11/2008 : 13:13:39
non mi va mi lancia dlle eccezzioni , avevo già provato io. eccezzioni del tipo.Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at gestionearray.copia(gestionearray.java:81)
at testgestionearray.main(testgestionearray.java:13)

cmq scusami il disturbo
velikomrsic Inserito il - 19/11/2008 : 12:55:20
mk178 mi sapresti aiutare a fare l'esame ora?
Mk178 Inserito il - 19/11/2008 : 12:54:32
bhè il richiamare un fuzione ke restituisce qualkosa, nn è quasi mai solo nella forma gestionearray.copia().
Come nel caso della fuzione search(), anke in questo caso, devi "utilizzare" ciò ke restituisce la funzione.
Io penserei a qualkosa del tipo:

public static void main(String[] args) {
               int []a;
               int k = 0;
               a = new int [10]; //creo l'oggetto array
               gestionearray.leggiarray(a);
               gestionearray.stampaarray(a);
               gestionearray.search (a,k);
               int[] copia=gestionearray.copia(a);
               gestionearray.stampaarray(copia);//verifica della avvenuta copia
}
Mauris Inserito il - 19/11/2008 : 11:54:17
public static int [] copia (int []a) {
int []c;
int i;
c = new int[a.length]; //costruisce un nuovo array di dimensione uguale ad a[]

for (i=0;i<a.length;i++);

{c[i]= a[i];}

return c;

}
ragazzi io ho questo pezzo di codice che mi restituisce lacopia di un array a gia acquisito.....Come posso richiamare il metodo copia nel main???perche con la semplice chiamata gestionearray.copia()non mi funziona
Mk178 Inserito il - 18/11/2008 : 20:06:16
Di niente, cmq sarà una mia impressione, ma sn i classici errori ke faccio quando vado avanti con il Copia&Incolla ;P
Personalmente te lo sconsiglio, quelli sn i risultati...:D

Per quanto riguarda l'input da tastiera fai un metodo getVal così:

public class int getInt(){
   Scanner input = new Scanner (System.in);
   return input.nextInt();
}

Evitando di ripetere ogni volta il codice.
Infine utilizza la search senza prevedere al suo interno l'acquisizione e nel main chiamala così:
gestionearray.search (a,getInt());

Naturalmente sn solo consigli, fai cm vuoi...

Ciao ciao
Mauris Inserito il - 18/11/2008 : 17:08:43
miki grazie era la sistem cke dovevo mettere nel mai però senza il parametro k
mentre il resto stava bene
ti ringrazio
non mi era venuto proprio di mettere questo nel main
infatti mi restituisce tru e false
grazie
Mk178 Inserito il - 18/11/2008 : 14:53:33
@genius: abbiamo postato quasi contemporaneamente, nn l'avevo notato prima = ho ridetto una cosa detta da te.

@Mauris: scusa, se ne main inserisci System.out.println(gestionearray.search (a,k)); ke fà?
cmq continuo a nn capire l'utilità del parametro k....

Ciao
Mauris Inserito il - 18/11/2008 : 13:03:02
genius allora il programma mi fa inserire l'elemento da cercare perchè ho messo la scanner nel metodo search. ma questo elemento penso che non venga confrontato con gli elementi dell'array perchè in outup non ho ne true ne false;in sostanza non mi dice se l'elemento k che io voglio cercare è presente nel vettore o meno.

spero di essermi spiegato meglio
Mauris Inserito il - 18/11/2008 : 12:59:57
scusa, non mi fa ilconfronto con gli elementi dell'array. mi sapreste trovare una soluzione??
Mauris Inserito il - 18/11/2008 : 12:53:32
allora il codice mi legge il vettore e poi mi stampa l'array. io vorrei cercare un elemento nell'array, k è l'elemento che voglio verificare sè è presenta nel vettore o no.In sostanza dopo la lettura e la stampa , il codice (dato lo scanner nel searvh)mi fa inserire il numero k da cercare ma non mi fa il confronto con l'array a[]
Mk178 Inserito il - 18/11/2008 : 12:47:21
aspè ma io credevo ke passassi k alla funzione, xkè fosse k l'elemento da cercare....tu invece vuoi ke all'interno della funzione chieda il valore da cercare?(giusto?) se si, xkè passargli k, dichiaralo direttamente all'interno...o no?

mmm...

in tal caso nn saprei, dovresti spiegare meglio ke errore fà...

Ciao
genius Inserito il - 18/11/2008 : 12:40:15
innanzitutto non capisco il parametro "k" del metodo search, dato che k lo valorizzi all'interno del metodo.

Inoltre non capisco cosa intendi per "non mi fa fare la ricerca". Ti da errore? Non ti restituisce quello che ti aspetti? Io so solo che così com'è il programma non dà nessun output "visibile" del fatto che trovi o meno l'elemento. puoi spiegarti meglio?
Mk178 Inserito il - 18/11/2008 : 12:39:24
ke errore t dà?
Nn complia il codice o è un errore in esecuzione(presumo la seconda)?

in ogni caso, xkè fai questa cosa nella funzione search()?:
Scanner input = new Scanner (System.in);
k = input.nextInt();

prova ad eliminare queste due righe... cosa succede?

facci sapere

ciao



Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,08 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000