Pages: 1 [2]   Go Down
Print
Author Topic: Esercizio prova sui metodi  (Read 3167 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
stallclinton
Matricola
*
Offline Offline

Posts: 61


« Reply #15 on: 25-01-2010, 20:36:10 »

Beh puoi usare anche substring() scorrendo man mano la frase... Cheesy

Ecco lo snippet (sei già dentro il for che itera ogni carattere):
Code:
if(!m[i][j].substring(k, k+1).equals("x") && !m[i][j].substring(k, k+1).equals("y")){
filtered_string += m[i][j].substring(k, k+1);
}
« Last Edit: 25-01-2010, 20:50:53 by stallclinton » Logged
Luckino
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 107


Io nn sono il migliore ma nessuno è migliore di me


« Reply #16 on: 25-01-2010, 20:52:44 »

Beh puoi usare anche substring() scorrendo man mano la frase... Cheesy

Ecco lo snippet (sei già dentro il for che itera ogni carattere):
Code:
if(!m[i][j].substring(k, k+1).equals("x") && !m[i][j].substring(k, k+1).equals("y")){
filtered_string += m[i][j].substring(k, k+1);
}

si...anche questo si può usare ma secondo me e più semplice il charAt!!
Logged
stallclinton
Matricola
*
Offline Offline

Posts: 61


« Reply #17 on: 25-01-2010, 20:54:26 »

Beh puoi usare anche substring() scorrendo man mano la frase... Cheesy

Ecco lo snippet (sei già dentro il for che itera ogni carattere):
Code:
if(!m[i][j].substring(k, k+1).equals("x") && !m[i][j].substring(k, k+1).equals("y")){
filtered_string += m[i][j].substring(k, k+1);
}

si...anche questo si può usare ma secondo me e più semplice il charAt!!

Ma mai quanto il replace()  univ
Logged
Daréios89
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 2.679


La musica è la forma d'arte suprema.


« Reply #18 on: 25-01-2010, 21:02:49 »

Lo dico per esperienza, se dovete lavorare con le stringhe usate charAt() e substring(), niente replace() o altro.
Il prof a parte i primi due metodi non li accetta gli altri.
Almeno se non sono stati trattati a lezione.
Logged

"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
stallclinton
Matricola
*
Offline Offline

Posts: 61


« Reply #19 on: 25-01-2010, 21:07:15 »

Lo dico per esperienza, se dovete lavorare con le stringhe usate charAt() e substring(), niente replace() o altro.
Il prof a parte i primi due metodi non li accetta gli altri.
Almeno se non sono stati trattati a lezione.

Sì effettivamente è troppo semplice col replace() e potrebbe suonare come un "insulto", grazie comunque del tuo intervento, è utile avere pareri da chi ci è già passato.
Logged
Luckino
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 107


Io nn sono il migliore ma nessuno è migliore di me


« Reply #20 on: 25-01-2010, 21:46:08 »

Lo dico per esperienza, se dovete lavorare con le stringhe usate charAt() e substring(), niente replace() o altro.
Il prof a parte i primi due metodi non li accetta gli altri.
Almeno se non sono stati trattati a lezione.

 ......lo dico da mezz'ora!!!!
Logged
ExEcUtIvE
Apprendista Forumista
**
Offline Offline

Posts: 114


Compila o non compila, questo è il problema!


« Reply #21 on: 07-02-2010, 12:34:46 »

Raga ho un problema con questo esercizio, di seguito posterò in ordine testo, codice e risultati:

Testo:
Scrivere un metodo che prenda in input tre matrici, con le stesse dimensioni, di double e restituisca
un boolean che indichi se le tre matrici presentano (in qualunque posizione) una colonna comune.
P.S.: Due double sono considerati uguali se differiscono per meno di un millesimo.

Codice:
Code:
public class es31
{
public static boolean Metodo(double[][] A,double[][] B,double[][] C)
{
for (int i=0;i<A.length;i++) {
for(int j=0;j<A[i].length;j++) {
for(int x=0;x<B.length;x++) {
for(int y=0;y<B[x].length;y++) {
if(((Math.abs(A[j][i]-B[y][x]))<0.0001) || ((Math.abs(A[j][i]-C[y][x]))<0.0001) || ((Math.abs(B[j][i]-C[y][x]))<0.0001));
{
System.out.println((Math.abs(A[j][i]-B[y][x]))+"   "+(Math.abs(A[j][i]-C[y][x]))+"   "+(Math.abs(B[j][i]-C[y][x])));
return true;
}
}
}
}
}
return false;
}
public static void main(String[] args)
{
double[][] A={{1,2,3.900004},{4,5,6},{7,8,9}};
double[][] B={{1.1,2.2,3.3},{4.4,5.5,6.6},{7.7,8.8,9.9}};
double[][] C={{1.12,2.23,3.409078},{4.45,5.56,6.67},{7.78,8.89,9.99}};
System.out.println(Metodo(A,B,C));
}
}

Risultato:
>Exit code: 0
>java -cp . es31
0.10000000000000009   0.1200000000000001   0.020000000000000018
true
>Exit code: 0


Calcolando il valore assoluto della differenza, non ci sono numeri come ho stampato in output che sono <0,0001...
Perchè invece mi da true O_O...Huh?
« Last Edit: 07-02-2010, 12:36:28 by ExEcUtIvE » Logged
Pages: 1 [2]   Go Up
Print
Jump to: