Salve a tutti. Mi sono appena iscritto a questo forum perchè ho bisogno urgente di aiuto!!!
Sono iscritto al primo anno di ingegneria informatica e il prof ci ha dato da fare delle tesine che, se fatte bene ci possono aiutare a snellire l'esame finale. Entro lunedì devo consegnare la terza ed ultima di queste mini-tesine ma e mi trovo al quanto in difficoltà!!!
Ora vi spiego: in pratica io gli do dei numeri da imput, devo trasformare questi numeri il liste ed effettuare vari calcoli (addizione, moltiplicazione e fattoriale)tutti con algoritmi possibilmente ricorsivi... Vi faccio degli esempi. Io do da imput 259 e 42, trasformo questi numeri da interi a liste (2-5-9 e 4-2). Faccio la somma tra queste 2 liste e dovrò ottenere un'altra lista risultato
(3-0-1). Lo stesso per la moltiplicazione 2-5-9 * 4-2 e dovrò ottenere 1-0-8-7-8. Lo stesso per il fattoriale: fattoriale di 1-0 dovrà essere 3-6-2-8-8-0-0...
Fino ad ora ho fatto solo il metodo che ottenuto il numero lo converte in stringa, eccolo:
class NodoNumero
{
public long num;
public NodoNumero next;
public NodoNumero (long num, NodoNumero next)
{
this.num = num;
this.next = next;
}
public static NodoNumero creaNumero(long n){
String s = String.valueOf(n);
int lung=s.length()-1;
NodoNumero x=new NodoNumero(Integer.parseInt(String.valueOf(s.charAt(lung))),null);
NodoNumero y=x;
return creaNumero(s,lung-1,y);
}
public static NodoNumero creaNumero(String s,int lung,NodoNumero y){
if (lung==0){
NodoNumero x = new NodoNumero (Integer.parseInt(String.valueOf(s.charAt(lung))), y);
y=x;
return y;}
else{
NodoNumero x=new NodoNumero (Integer.parseInt(String.valueOf(s.charAt(lung))),y);
y=x;
return creaNumero(s,lung-1,y);}
}
}
L'ho fatto ricorsivo perchè il prof voule tutto ricorsivo dove è possibile...
Voi come lo fareste sto cavolo di programma??? (ricordatevi che sono al primo anno quindi non fate cose troppo complicate... fino ad ora sono arrivato alle liste..)