Cerca
Chi è online?
 67 visitatori online
Membri Iscritti
18 registrati
0 oggi
0 questa settimana
3 questo mese
Ultimo: catello

[java] Metodo che da un intero restituisce un array

Programmazione - java

import fiji.io.*;

 

/*Scrivere un metodo ricorsivo Java

 int[ ] trasforma1(int n)

 che dato un intero positivo n calcola e restituisce un array costituito dalle cifre

 di n dalla meno significativa alla più significativa*/

 

class Prove

      {

            public static int[] trasforma1(int n) //metodo che serve per passare al metodo ricorsivo i

                  {//parametri necessari

                        String s = String.valueOf(n);//Creo una stringa per calcolarmi il valore della

                       //lunghezza dell'intero

                        int[] vet = new int[s.length()];//lunghezza dell'intero

                        return trasforma1(n,0,vet,s.length());//metodo che sarà ricorsivo dove passo il numero, 

                  }//un contatore che parte da 0 (cioè k),l'array che dovrò creare,la lunghezza

//dell'array

 

            public static int[] trasforma1(int n, int k, int[] cia,int l)//creo il vettore prima altrimenti

                  {     //il vettore verrebbe creato ricorsivamente e quindi non si risolverebbe nulla

 

                        if ((n>0)&&(n<=9))//passo base

                             {

 

                                   cia[l-1]=n%10; //oppure n ... è la stessa cosa

 

 

                             }

                        else //passo induttivo

                             {

                                   cia[k++]=n%10;  //il valore successivo dell'array vale il resto di

//n diviso 10 

                                   trasforma1(n/10,k++,cia,l);//richiamo il metodo con i  nuovi parametri

 

                             }

                        return cia;

                  }

 

            public static void stampa(int[] v) //metodo che mi serve per leggere a schermo l'array

                  {

                        int i;

                        System.out.println("array letto: ");

                        for (i = 0; i < v.length; i++)

                             System.out.print(v[i] + " ");

                        System.out.println();

                  }

 

            public static void main(String[] args) //il main per provare

                  {

                        int a = 3446789;

                        stampa(trasforma1(a));

                  }

 

      } 

 

 

per esercizio potete fare questo : 

Scrivere un metodo ricorsivo Java

char[ ] trasforma2(String s)

che data una stringa s calcola e restituisce un array costituito dai caratteri di s dall’ultimo al primo

 

Tags: java | programmazione

 

Aggiungi commento


Codice di sicurezza
Aggiorna

Translate
Ultime dal Forum
Iscriviti al Feed

Enter your email address: