Pages: 1 [2]   Go Down
Print
Author Topic: Come prendere un byte in input?  (Read 2924 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
StephCT
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #15 on: 21-02-2011, 13:56:18 »

completamente sbagliato. partiamo dal main. li hai solo dichiarati, nn hai riempito ne l'array ne la matrice ne l'int. devi dargli dei valori. lavora con il nulla più totale...il boolean non è in input ma in output, cioè dve ritornartelo.quindi dopo aver fatto il riempimento di matrice, array, aver assegnato n, dovresti scrivere:
System.out.println(metodo(A,B,n));
è errato pure il modo in cui passi i parametri, non si mettono le parentesi, basta solo il nome.
passando al metodo, è tutto da rifare. io te ne posto uno, supponendo che sia la matrice che l'array abbiano valori distinti, cioè se l'array è di 3 elementi, sono 3 diversi sempre, stessa cosa vale x la matrice, te lo studi, e poi lo affini solo o aiutato perchè io ora starò senza internet per 3 giorni...

Code:
boolean metodo (byte[][]A,byte B[],int n)
{
boolean trovato=false;
int cont=0;
for(int x=0;x<B.length;x++)
{
boolean temp=false;
for(int i=0; i<A.length && !temp;i++)
for(int j=0;j<A[i].length && !temp;j++)
if(B[x]==A[i][j])
{
cont++;
temp=true;
}
if(cont==n)
trovato=true;
}
return trovato;
}
Logged

"Che la Forza sia con Te"
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #16 on: 21-02-2011, 14:12:43 »

completamente sbagliato. partiamo dal main. li hai solo dichiarati, nn hai riempito ne l'array ne la matrice ne l'int. devi dargli dei valori. lavora con il nulla più totale...il boolean non è in input ma in output, cioè dve ritornartelo.quindi dopo aver fatto il riempimento di matrice, array, aver assegnato n, dovresti scrivere:
System.out.println(metodo(A,B,n));
è errato pure il modo in cui passi i parametri, non si mettono le parentesi, basta solo il nome.
passando al metodo, è tutto da rifare. io te ne posto uno, supponendo che sia la matrice che l'array abbiano valori distinti, cioè se l'array è di 3 elementi, sono 3 diversi sempre, stessa cosa vale x la matrice, te lo studi, e poi lo affini solo o aiutato perchè io ora starò senza internet per 3 giorni...

Code:
boolean metodo (byte[][]A,byte B[],int n)
{
boolean trovato=false;
int cont=0;
for(int x=0;x<B.length;x++)
{
boolean temp=false;
for(int i=0; i<A.length && !temp;i++)
for(int j=0;j<A[i].length && !temp;j++)
if(B[x]==A[i][j])
{
cont++;
temp=true;
}
if(cont==n)
trovato=true;
}
return trovato;
}


hai perfettamente ragione, qualcosa l'ho sbagliata hai ragione, purtroppo sto sclerando (una serie di problemi proprio ad un giorno dall'esame), cmq non capisco xkè fai .length e non .lenght-1?
« Last Edit: 21-02-2011, 14:15:32 by gigyrock » Logged
StephCT
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #17 on: 21-02-2011, 14:15:36 »

allora un array ad esempio di lunghezza 10, vuol dire che contiene 10 elementi, che però hanno indici da 0 a 9, quindi l'imposizione dell' indice di essere strettamente minore di A.length, vuol dire che deve andare da 0 a 9 e non a 8, come succederebbe se mettessi A.length-1.
Logged

"Che la Forza sia con Te"
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #18 on: 21-02-2011, 14:21:51 »

allora un array ad esempio di lunghezza 10, vuol dire che contiene 10 elementi, che però hanno indici da 0 a 9, quindi l'imposizione dell' indice di essere strettamente minore di A.length, vuol dire che deve andare da 0 a 9 e non a 8, come succederebbe se mettessi A.length-1.
ma appunto, hai ragione facevo così perchè negli altri esercizi mettevo <= anzicchè <...cmq i parametri formali vanno chiamati diversamente da quelli attuali?

xkè mi da questo errore...
metodo(byte[][],byte[],int) in provaesame1 cannot be applied to (byte[][],byte[],int,boolean)
      System.out.println( metodo (A,B,n,verifica));
Logged
StephCT
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #19 on: 21-02-2011, 14:38:31 »

li puoi chiamare come vuoi solo che vedi, in entrata il metodo nn lo vuole il boolean mentre tu il boolean glielo vuoi mandare...
Logged

"Che la Forza sia con Te"
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #20 on: 21-02-2011, 14:50:41 »

li puoi chiamare come vuoi solo che vedi, in entrata il metodo nn lo vuole il boolean mentre tu il boolean glielo vuoi mandare...
giusto, e ora questo cos'è?
on-static method metodo(byte[][],byte[],int) cannot be referenced from a static context
      System.out.println( metodo (A,B,n));
                          ^
Logged
StephCT
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #21 on: 21-02-2011, 14:53:24 »

si, dato che hai scritto questo metodo dentro la classe rispetto ac ome l'ho dichiarato io, lo devi dichiarare public static
Logged

"Che la Forza sia con Te"
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #22 on: 21-02-2011, 15:24:03 »

si, dato che hai scritto questo metodo dentro la classe rispetto ac ome l'ho dichiarato io, lo devi dichiarare public static
perfetto grazie mille
Logged
Pages: 1 [2]   Go Up
Print
Jump to: