Vivynz
|
 |
« Reply #30 on: 29-12-2008, 14:48:39 » |
|
Non la supererò mai sta provaaaaaaaa....help!!
Scrivere un metodo che prenda in input un array bidimensionale frastagliato S di stringhe e restituisca un boolean che indichi se esiste una coppia di stringhe in S in cui occorre lo stesso carattere. Es.: Input: [ (“abc”, “dewfg”, …), (…), …, (…, “xyfw”, …), …], Output: True
Scrivere un metodo che prenda in input una matrice bidimensionale frastagliata S di stringhe e restituisca un boolean che indichi se esiste una colonna in S contenente due stringhe uguali (saltare le eventuali stringhe mancanti)
|
|
« Last Edit: 29-12-2008, 16:14:24 by Vivynz »
|
Logged
|
L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
|
|
|
rox
|
 |
« Reply #31 on: 29-12-2008, 15:36:38 » |
|
Si consideri il seguente schema lineare: +++---+++---+++---+++---···. Scrivere un metodo che prenda come parametro formale una stringa S e restituisca in output la stringa ottenuta da S sovrapponendo il precedente schema e concatenando i caratteri corrispondenti al simbolo ‘+’. Es.: S=”abcdefghilmno”, Output=”abcghio”. ho provato a risolverlo ma non so se è giusto : import javax.swing.*; public class es15{ private stringa s; public es15( stringa s) { this.s=s; } public String getNuovaStringa() { String nuova=" "; for (int i=0;i<s.length();i=i+3) { nuova+=s+s[i+1]+s[+2]; } return nuova; } } class stringa { private String s; public stringa(String s) { this.s=JOptionPane.showInputDialog ("immetti la Stringa"); s.toCharArray(); } }
il compilatore mi da questi errori:
es15.java:12: cannot find symbol symbol : method length() location: class stringa for (int i=0;i<s.length();i=i+3) ^ es15.java:14: array required, but stringa found nuova+=s+s[i+1]+s[+2]; ^ es15.java:14: array required, but stringa found nuova+=s+s[i+1]+s[+2]; ^ es15.java:14: array required, but stringa found nuova+=s+s[i+1]+s[+2]; ^ 4 errors grazie in anticipo per l'aiuto!
|
|
|
Logged
|
Una macchina è in grado di lavorare come cinquanta uomini comuni, ma nessuna macchina può svolgere il lavoro di un uomo straordinario.
|
|
|
Gam
Apprendista Forumista

Offline
Posts: 385
|
 |
« Reply #32 on: 29-12-2008, 18:04:17 » |
|
Ciao, cmq io nn mi complicherei la vita a fare tutti questi this e classi; per vedere se è giusto mi puoi postare pure il main?!? mi secca scriverlo, cmq io ho risolto il problema facendo un array di char che contiene lo schema +++---ecc... in questo modo è molto semplice. Almeno per come sono riuscito a risolverlo io  Se scrivi il main sarò lieto di aiutarti 
|
|
|
Logged
|
|
|
|
ɹǝǝuıƃuǝsɹǝʌǝɹ
|
 |
« Reply #33 on: 29-12-2008, 18:25:31 » |
|
il compilatore mi da questi errori: es15.java:12: cannot find symbol symbol : method length() location: class stringa for (int i=0;i<s.length();i=i+3) ^ es15.java:14: array required, but stringa found nuova+=s[i]+s[i+1]+s[+2]; ^ es15.java:14: array required, but stringa found nuova+=s[i]+s[i+1]+s[+2]; ^ es15.java:14: array required, but stringa found nuova+=s[i]+s[i+1]+s[+2]; ^ 4 errors Tag FONT aggiunto per leggibilità!Allora, innanzitutto il procedimento da te adottato è corretto e funziona bene su stringhe di qualsiasi dimensione. I problemi di compilazione si verificano perché hai fatto confusione tra la classe java.lang.String (che rappresenterebbe s in riga 12), la tua personale classe stringa (che rappresenta la definizione di s in riga 3), e array di char (che rappresenta s nel corpo del ciclo for in riga 14. Bisogna essere coerenti con i tipi di dati usati. Devi scegliere uno solo di questi tre tipi e trattare s come tale tipo di oggetto Java coerentemente. Inoltre, un altro piccolo errore, sempre in riga 14, alla fine ti manca una i alla sinistra del +2. Infine, un consiglio veramente veramente appassionato perché coinvolge la leggibilità e la correttezza di ciò che il forum scrive in output alla visualizzazione dei nostri messaggi: usa sempre il tag FONT per rappresentare del codice, perché, anche nel tuo caso, si è persa una s[i] del rigo 14 (guarda tu stesso)  . Ciao ciao  .
|
|
|
Logged
|
La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.
In tutto, amare e servire.
✚ | ن | I can deal with ads, I can deal with buffer, but when ads buffer I suffer... |
...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda... ▶ YouTube ❾ 9GAG ⅱ anobii S Steam ☺ T.B.o.I. Wiki [ ] Lezioni private ʼ Albo d'Ateneo Unicode 3.0.1
|
|
|
Gam
Apprendista Forumista

Offline
Posts: 385
|
 |
« Reply #34 on: 30-12-2008, 12:07:10 » |
|
Ciao, volevo chiedervi se per cortesia mi potevate postare la soluzione dell'esercizio 6 tra quelli proposti dal prof. Grazie. 
|
|
|
Logged
|
|
|
|
Vivynz
|
 |
« Reply #35 on: 30-12-2008, 13:38:33 » |
|
allora qualcuno mi da una mano??almeno qualche indicazione....
|
|
|
Logged
|
L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
|
|
|
Fr3d3R!K
|
 |
« Reply #36 on: 30-12-2008, 20:07:10 » |
|
siccome non avrò tempo fino a gennaio inoltrato ti indico una possibile soluzione a livello proprio logico (senza codice) Scrivere un metodo che prenda in input un array bidimensionale frastagliato S di stringhe e restituisca un boolean che indichi se esiste una coppia di stringhe in S in cui occorre lo stesso carattere. Es.: Input: [ (“abc”, “dewfg”, …), (…), …, (…, “xyfw”, …), …], Output: True tramite il String.charAt(int) confronti (ad esempio) il primo caratteri con tutti gli altri, poi il secondo con tutti gli altri (dentro una serie di cicli)...etc, mettendo un boolean (inizializzato come false) a true in caso trovi coincidenze. Dovrebbe funzionare. Scrivere un metodo che prenda in input una matrice bidimensionale frastagliata S di stringhe e restituisca un boolean che indichi se esiste una colonna in S contenente due stringhe uguali (saltare le eventuali stringhe mancanti)
intanto c'è da dire che per gli array frastagliati, non avendo dimensioni fissa, conviene sempre mettere un bel IF per sapere di volta in volta quale sia la stringa "maggiore" (o più lunga che dir si voglia) e così sapersi regolare nel ciclo. Dopodichè, a quanto ho capito, vuole sapere se ci sono colonne con gli stessi caratteri, e qui ti basta confrontare anche solo i primi di ogni riga (se non sono uguali i primi la stringa non è uguale), se sono uguali passi ai secondi (incrementando di volta in volta il contatore), e così via. Mettici (visto che lo richiede) anche un controllo del tipo if(S.length()==0) continue; else {fai i dovuti controlli} per saltare stringhe mancanti. Saluti e buono studio buon anno!  ^^
|
|
« Last Edit: 02-01-2009, 16:10:36 by Fr3d3R!K »
|
Logged
|
|
|
|
ɹǝǝuıƃuǝsɹǝʌǝɹ
|
 |
« Reply #37 on: 30-12-2008, 23:29:34 » |
|
Non la supererò mai sta provaaaaaaaa....help!!
Scrivere un metodo che prenda in input un array bidimensionale frastagliato S di stringhe e restituisca un boolean che indichi se esiste una coppia di stringhe in S in cui occorre lo stesso carattere. Es.: Input: [ (“abc”, “dewfg”, …), (…), …, (…, “xyfw”, …), …], Output: True public static boolean helpVivynz1 (String [][] S) { boolean found = false; for (int r = 0; r < S.length && !found; r++) for (int c = 0; c < S [r].length && !found; c++) for (int k = 0, max = S [r][c].length () && !found; k < max; k++) { //cicla per ogni carattere "l" di ogni stringa dell'array bidimensionale S char l = S [r][c].charAt (k); //prima di tutto verifica se c'è un carattere uguale ad "l" nelle stringhe //successiva della riga corrente di S, se ce ne sono for (j = c + 1; j < S [r].length && !found; j++) if (S [r][j].indexOf (l) != -1) found = true; //poi verifica se c'è un carattere a "l" nelle stringhe di tutte le righe //successive alla riga corrente, se ce ne sono if (!found) for (i = r + 1; i < S.length && !found; i++) for (j = 0; j < S [i].length && !found; j++) if (S [i][j].indexOf (l) != -1) found = true; } return found; }
Si può usare il metodo java.lang.String.indexOf (int), vero  ? Seriamente, se non fosse così, fammelo sapere che modifico leggermente il codice per non doverlo usare  .
|
|
|
Logged
|
La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.
In tutto, amare e servire.
✚ | ن | I can deal with ads, I can deal with buffer, but when ads buffer I suffer... |
...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda... ▶ YouTube ❾ 9GAG ⅱ anobii S Steam ☺ T.B.o.I. Wiki [ ] Lezioni private ʼ Albo d'Ateneo Unicode 3.0.1
|
|
|
ɹǝǝuıƃuǝsɹǝʌǝɹ
|
 |
« Reply #38 on: 30-12-2008, 23:44:07 » |
|
Scrivere un metodo che prenda in input una matrice bidimensionale frastagliata S di stringhe e restituisca un boolean che indichi se esiste una colonna in S contenente due stringhe uguali (saltare le eventuali stringhe mancanti)
public static boolean helpVivynz2 (String [][] S) { int max = 0; boolean found = false; //questo ciclo calcola la dimensione massima delle righe di S for (int i = 0; i < S.length; i++) if (S [i].length > max) max = S [i].length; //per ogni colonna for (int c = 0; c < max && !found; c++) //per ogni coppia di righe diverse (r1, r2) con r1 < r2 for (int r1 = 0; r1 < (S.length - 1) && !found; r1++) for (int r2 = r1 + 1; r2 < S.length && !found; r2++) //se entrambe le righe r1 ed r2 hanno almeno la colonna 'c' if ((c < S [r1].length && c < S [r2].length) && (S [r1][c].equals (S [r2][c]))) //e le stringhe S[r1][c] e S[r2][c] sono uguali found = true; //allora restituiamo il successo return found; }
EDIT: ho corretto il codice aggiungendo le dichiarazioni per r1 ed r2  .
|
|
« Last Edit: 04-01-2009, 02:09:53 by reversengineer »
|
Logged
|
La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.
In tutto, amare e servire.
✚ | ن | I can deal with ads, I can deal with buffer, but when ads buffer I suffer... |
...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda... ▶ YouTube ❾ 9GAG ⅱ anobii S Steam ☺ T.B.o.I. Wiki [ ] Lezioni private ʼ Albo d'Ateneo Unicode 3.0.1
|
|
|
Vivynz
|
 |
« Reply #39 on: 31-12-2008, 12:03:03 » |
|
bho sinceramente non ho idea se si può usare  ma grazie mille per il tuo aiuto!!!!!troppo disponibile 
|
|
|
Logged
|
L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
|
|
|
Vivynz
|
 |
« Reply #40 on: 31-12-2008, 12:17:25 » |
|
ah poi per quanto riguarda il primo ero riuscita a scrivere del codice,sembra funzionare però non saprei se poi ci sono degli errori nascosti  /*Scrivere un metodo che prenda in input un array bidimensionale frastagliato S di stringhe e restituisca un boolean che indichi se esiste una coppia di stringhe in S in cui occorre lo stesso carattere. Es.: Input: [ (“abc”, “dewfg”, …), (…), …, (…, “xyfw”, …), …], Output: True*/ public class Es30 { public static boolean occorreStessoCarattere(String[][] S) { for(int i=0;i<S.length;i++) { for(int j=0;j<S[i].length;j++) { for(int l=0;l<S.length;l++) { for(int m=0;m<S[l].length;m++) { for(int k=0;k<S[i][j].length()-1;k++) { for(int w=0;w<S[l][m].length()-1;w++) { if((S[i][j].charAt(k)==S[l][m].charAt(w))&&(S[i][j]!=S[l][m]))//il secondo end confronta volontariamente gli indirizzi delle stringhe per verificare che non avvenga il confronto di una stringa con se stessa return true; } } } } } } return false; } public static void main (String[] args) { String[][] s={{"abc"},{"defg","hilmn"},{"op","qrs","tuavz"}}; boolean b=occorreStessoCarattere(s); System.out.println(b); } }
|
|
|
Logged
|
L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
|
|
|
Giovi89
Apprendista Forumista

Offline
Posts: 273
|
 |
« Reply #41 on: 31-12-2008, 17:42:29 » |
|
Salve a tutti, volevo chiedere se qualcuno può postarmi l'esercizio 3 di quelli proposti dal prof. ? Mentre ci sono se qualcuno può spiegarmi l'output dell'esempio di questo esercizio? Grazie a tutti e felice anno nuovo... 
|
|
|
Logged
|
|
|
|
ɹǝǝuıƃuǝsɹǝʌǝɹ
|
 |
« Reply #42 on: 31-12-2008, 17:43:30 » |
|
ah poi per quanto riguarda il primo ero riuscita a scrivere del codice,sembra funzionare però non saprei se poi ci sono degli errori nascosti  No, errori non ce ne sono. Solo si può migliorare per evitare di ciclare anche sui singoli caratteri di una stessa stringa (benché grazie alla seconda condizione sicuramente non restituisci true); 
|
|
|
Logged
|
La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.
In tutto, amare e servire.
✚ | ن | I can deal with ads, I can deal with buffer, but when ads buffer I suffer... |
...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda... ▶ YouTube ❾ 9GAG ⅱ anobii S Steam ☺ T.B.o.I. Wiki [ ] Lezioni private ʼ Albo d'Ateneo Unicode 3.0.1
|
|
|
ɹǝǝuıƃuǝsɹǝʌǝɹ
|
 |
« Reply #43 on: 31-12-2008, 17:51:26 » |
|
Mi ero perso questo passaggio del tuo post, caro Fr3d3R!KMettici (visto che lo richiede) anche un controllo del tipo if(S.equals("")) continue; else {fai i dovuti controlli} per saltare stringhe mancanti. Tuttavia, tale codice non può funzionare in generale  , poiché S dovrebbe essere una stringa già assegnata in qualche modo scorrendo i due array, e se scorro fuori da un array tentando di leggere una posizione non esistente, sollevo una java.lang.ArrayIndexOutOfBoundException 
|
|
|
Logged
|
La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.
In tutto, amare e servire.
✚ | ن | I can deal with ads, I can deal with buffer, but when ads buffer I suffer... |
...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda... ▶ YouTube ❾ 9GAG ⅱ anobii S Steam ☺ T.B.o.I. Wiki [ ] Lezioni private ʼ Albo d'Ateneo Unicode 3.0.1
|
|
|
Alex_47
Apprendista Forumista

Offline
Gender: 
Posts: 409
The spiral's King
|
 |
« Reply #44 on: 31-12-2008, 17:55:16 » |
|
Salve a tutti , vorrei un aiuto riguardo questo esercizio della seconda prova itinere ,praticamente non saprei cosa fare XD...
ecco qua la consegna...
Esercizio 8 Scrivere un metodo che prenda come parametro formale un vettore di stringhe e restituisca in output un vettore di interi contenente in ogni locazione, rispettivamente, la somma dei codici ASCII maggiori di 32 dei caratteri nella corrispondente stringa in input.
qualcuno mi saprebbe aiutare?
|
|
|
Logged
|
|
|
|
|