Pages: 1 [2]   Go Down
Print
Author Topic: Altro Esercizio prima parte  (Read 2905 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Root
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 474



« Reply #15 on: 21-02-2009, 12:50:37 »

Code:
cha[] toCharArray()
Ho cercato di non usare il metodo della classe String. Spesso il prof vieta l'uso di alcuni metodi e così mi sto abituando a trovare prima l'alternativa. Grazie per l'aiuto e la spiegazione del secondo esercizio 

Non sapevo che il prof vietasse l'uso di metodi, ma sicuramente non ti vieta di costruirti un metodo che faccia la stessa cosa del metodo vietato! A volte, la suddivisione in problemi più piccoli semplifica di molto la soluzione.
Quindi potresti usare una cosa del genere:
Code:
char[] myToCharArray(String _in)
{
    char [] toRet = new char[_in.length()];
    for(int i = 0; i<toRet.length; i++)
       toRet[i] = _in.charAt(i);
    return toRet;
}
e poi utilizzare il vettore ritornato per scambiare gli indici!

Buono Studio
Dario
Logged

Passa a jabber!
http://jabber.org (il servizio)
http://pidgin.im (il client)

(c'era una volta) www.mytwocent.it
Condividi le tue conoscenze!

linux registered user #449678
ShiShi
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 256



« Reply #16 on: 22-02-2009, 17:04:07 »

Non ho perfettamente capito come usare il metodo che mi hai scritto Root, ora ricontrollo tutto l'esercizio, ma correggendo i due errori che mi hai fatto notare pensi è costruito e strutturato male il secondo metodo?
Logged
Root
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 474



« Reply #17 on: 22-02-2009, 17:29:36 »

Non ho perfettamente capito come usare il metodo che mi hai scritto Root, ora ricontrollo tutto l'esercizio, ma correggendo i due errori che mi hai fatto notare pensi è costruito e strutturato male il secondo metodo?

A questo punto non lo so. Se il prof vuole che siano usati TOT cicli annidati per risolvere un esercizio, allora la suddivisione di un metodo in più metodi potrebbe essere considerata (erroneamente) una cosa sbagliata!

Comunque, correggendo quegli errori il metodo funziona correttamente!

Per quanto riguarda il metodo che ti ho postato io, quello vuole essere un sostituito di toCharArray della classe String, potresti dunque usarlo per risolvere l'esercizio scambiando due posizioni di un array di char piuttosto che costruirti stringhe temporanee&C (quello che fa metodo2 per intenderci).

Salut
Dario
Salut
Dairo
Logged

Passa a jabber!
http://jabber.org (il servizio)
http://pidgin.im (il client)

(c'era una volta) www.mytwocent.it
Condividi le tue conoscenze!

linux registered user #449678
ShiShi
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 256



« Reply #18 on: 22-02-2009, 17:38:58 »

Comunque grazie per l'aiuto  altri che hanno superato l'esame sanno dirmi se è un problema l'uso di due metodi?Credo di non aver sbagliato nell'uso di for in questo esercizio..
Logged
ShiShi
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 256



« Reply #19 on: 23-02-2009, 17:33:20 »

Ho provato a svolgere questo esercizio ma mi fermo all'ordinare l'array, qualcuno può aiutarmi nell'inserire l'elemento h?
Code:
/*Scrivere un metodo che prende come parametri un array di float e un float h.
Si assuma che l'array dato sia ordinato in senso crescente. Il metodo deve restituire un array
di float ottenuto dall'array originale inserendo l'elemento h nella posizione corretta.*/

public class Boh {
    public static void main (String [] args)
    {
       int [] A = { 2, 5 , 1, 7, 6, 4};
       int h=3;
             A=metodo( A ) ;
             for(int i=0;i<A.length;i++)
             System.out.print (A[i]+"|");
    }
   
public static int[] metodo (int [] A) {
       for (int r=0; r<A.length-1; r++)
           for (int c=A.length-1; c>0; --c)
           if(A[c]<(A[c-1]))
                metodo2 (A , c , c-1);
                    return A;                   
    }
public static void metodo2 (int [] A, int r, int c) {     
       int tmp=A[r];
         A[r]=A[c];
         A[c]=tmp;       
    }
}
Logged
Pages: 1 [2]   Go Up
Print
Jump to: