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
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

Mauris
Utente giovane



Inserito il - 18/11/2008 : 10:28:23  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
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);
		
		
		

	}

}

Mk178
Moderatore ITPS

mk


Regione: Puglia
Prov.: Bari


Inserito il - 18/11/2008 : 12:39:24  Mostra Profilo  Visita l'Homepage di Mk178 Invia a Mk178 un Messaggio Privato  Rispondi Quotando
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



PER ESSERE SEMPRE AGGIORNATI
Sottoscriviti alla discussione ITPS/Generale/INFORMAZIONI
(NON postate in questo topic le vostre richieste)
Oppure Iscriviti al gruppo su Facebook Informatica T.P.S. Bari

EX-Rappresentante LINK - udu
: C. Facoltà di Scienze MM.FF.NN. & C. Corso di Laurea di Informatica TPS
Torna all'inizio della Pagina

genius
dott. ing. cav. ...FN

Genio


Regione: Puglia
Prov.: Bari
Città: Molfetta - Caput Mundi


Inserito il - 18/11/2008 : 12:40:15  Mostra Profilo  Visita l'Homepage di genius  Clicca per vedere l'indirizzo MSN di genius  Invia a genius un messaggio Yahoo! Invia a genius un Messaggio Privato  Rispondi Quotando
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?

"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."

Un blog farlocco
Torna all'inizio della Pagina

Mk178
Moderatore ITPS

mk


Regione: Puglia
Prov.: Bari


Inserito il - 18/11/2008 : 12:47:21  Mostra Profilo  Visita l'Homepage di Mk178 Invia a Mk178 un Messaggio Privato  Rispondi Quotando
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

PER ESSERE SEMPRE AGGIORNATI
Sottoscriviti alla discussione ITPS/Generale/INFORMAZIONI
(NON postate in questo topic le vostre richieste)
Oppure Iscriviti al gruppo su Facebook Informatica T.P.S. Bari

EX-Rappresentante LINK - udu
: C. Facoltà di Scienze MM.FF.NN. & C. Corso di Laurea di Informatica TPS
Torna all'inizio della Pagina

Mauris
Utente giovane



Inserito il - 18/11/2008 : 12:53:32  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
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[]
Torna all'inizio della Pagina

Mauris
Utente giovane



Inserito il - 18/11/2008 : 12:59:57  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
scusa, non mi fa ilconfronto con gli elementi dell'array. mi sapreste trovare una soluzione??
Torna all'inizio della Pagina

Mauris
Utente giovane



Inserito il - 18/11/2008 : 13:03:02  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

Mk178
Moderatore ITPS

mk


Regione: Puglia
Prov.: Bari


Inserito il - 18/11/2008 : 14:53:33  Mostra Profilo  Visita l'Homepage di Mk178 Invia a Mk178 un Messaggio Privato  Rispondi Quotando
@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

PER ESSERE SEMPRE AGGIORNATI
Sottoscriviti alla discussione ITPS/Generale/INFORMAZIONI
(NON postate in questo topic le vostre richieste)
Oppure Iscriviti al gruppo su Facebook Informatica T.P.S. Bari

EX-Rappresentante LINK - udu
: C. Facoltà di Scienze MM.FF.NN. & C. Corso di Laurea di Informatica TPS
Torna all'inizio della Pagina

Mauris
Utente giovane



Inserito il - 18/11/2008 : 17:08:43  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

Mk178
Moderatore ITPS

mk


Regione: Puglia
Prov.: Bari


Inserito il - 18/11/2008 : 20:06:16  Mostra Profilo  Visita l'Homepage di Mk178 Invia a Mk178 un Messaggio Privato  Rispondi Quotando
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

PER ESSERE SEMPRE AGGIORNATI
Sottoscriviti alla discussione ITPS/Generale/INFORMAZIONI
(NON postate in questo topic le vostre richieste)
Oppure Iscriviti al gruppo su Facebook Informatica T.P.S. Bari

EX-Rappresentante LINK - udu
: C. Facoltà di Scienze MM.FF.NN. & C. Corso di Laurea di Informatica TPS
Torna all'inizio della Pagina

Mauris
Utente giovane



Inserito il - 19/11/2008 : 11:54:17  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

Mk178
Moderatore ITPS

mk


Regione: Puglia
Prov.: Bari


Inserito il - 19/11/2008 : 12:54:32  Mostra Profilo  Visita l'Homepage di Mk178 Invia a Mk178 un Messaggio Privato  Rispondi Quotando
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
}

PER ESSERE SEMPRE AGGIORNATI
Sottoscriviti alla discussione ITPS/Generale/INFORMAZIONI
(NON postate in questo topic le vostre richieste)
Oppure Iscriviti al gruppo su Facebook Informatica T.P.S. Bari

EX-Rappresentante LINK - udu
: C. Facoltà di Scienze MM.FF.NN. & C. Corso di Laurea di Informatica TPS
Torna all'inizio della Pagina

velikomrsic
Nuovo Utente



Inserito il - 19/11/2008 : 12:55:20  Mostra Profilo  Visita l'Homepage di velikomrsic Invia a velikomrsic un Messaggio Privato  Rispondi Quotando
mk178 mi sapresti aiutare a fare l'esame ora?
Torna all'inizio della Pagina

Mauris
Utente giovane



Inserito il - 19/11/2008 : 13:13:39  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

Mauris
Utente giovane



Inserito il - 19/11/2008 : 13:20:09  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
inoltre mi indica che la variabile copia non è mai letta, cio "is never read". questo nel main mi succede
Torna all'inizio della Pagina

Mk178
Moderatore ITPS

mk


Regione: Puglia
Prov.: Bari


Inserito il - 19/11/2008 : 13:31:35  Mostra Profilo  Visita l'Homepage di Mk178 Invia a Mk178 un Messaggio Privato  Rispondi Quotando
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

PER ESSERE SEMPRE AGGIORNATI
Sottoscriviti alla discussione ITPS/Generale/INFORMAZIONI
(NON postate in questo topic le vostre richieste)
Oppure Iscriviti al gruppo su Facebook Informatica T.P.S. Bari

EX-Rappresentante LINK - udu
: C. Facoltà di Scienze MM.FF.NN. & C. Corso di Laurea di Informatica TPS
Torna all'inizio della Pagina

Mk178
Moderatore ITPS

mk


Regione: Puglia
Prov.: Bari


Inserito il - 19/11/2008 : 13:58:04  Mostra Profilo  Visita l'Homepage di Mk178 Invia a Mk178 un Messaggio Privato  Rispondi Quotando
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

PER ESSERE SEMPRE AGGIORNATI
Sottoscriviti alla discussione ITPS/Generale/INFORMAZIONI
(NON postate in questo topic le vostre richieste)
Oppure Iscriviti al gruppo su Facebook Informatica T.P.S. Bari

EX-Rappresentante LINK - udu
: C. Facoltà di Scienze MM.FF.NN. & C. Corso di Laurea di Informatica TPS
Torna all'inizio della Pagina

Mauris
Utente giovane



Inserito il - 19/11/2008 : 17:53:21  Mostra Profilo  Visita l'Homepage di Mauris Invia a Mauris un Messaggio Privato  Rispondi Quotando
avevi ragione grazie, non ho capito bene perchè non era possibile quella ugualianzalo capirò da solo. grazie mille
Torna all'inizio della Pagina

genius
dott. ing. cav. ...FN

Genio


Regione: Puglia
Prov.: Bari
Città: Molfetta - Caput Mundi


Inserito il - 19/11/2008 : 18:30:53  Mostra Profilo  Visita l'Homepage di genius  Clicca per vedere l'indirizzo MSN di genius  Invia a genius un messaggio Yahoo! Invia a genius un Messaggio Privato  Rispondi Quotando
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?

"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."

Un blog farlocco
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,28 secondi.

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