Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-03-2009, 13:33   #1
marius84
Senior Member
 
L'Avatar di marius84
 
Iscritto dal: Sep 2004
Messaggi: 1279
[JAVA] consiglio: esercizio, stampare numero in lettere (es 123, stampo uno due tre)

ciao a tutti..provengo dal C e sto cercando di imparare java.

devo svolgere questo esercizio:
"prendere un un numero n da input e stamapre le cifre di n in lettere.. es: 123 stampo: uno due tre"

io l'ho fatto così (creo un metodo e lo uso ricorsivamente), e funziona.. ma sinceramente non mi piace proprio.. c'è qualche altro modo per farlo in modo più elegante

grazie a tutti

Quote:
import java.util.*;
import java.lang.String;

public class Conversione {



public static void bho(int x){

if(x%10==x){
if(x==1) System.out.print("uno ");
if(x==2) System.out.print("due ");
if(x==3) System.out.print("tre ");
if(x==4) System.out.print("quattro ");
if(x==5) System.out.print("cinque ");
if(x==6) System.out.print("sei ");
if(x==7) System.out.print("sette ");
if(x==8) System.out.print("otto ");
if(x==9) System.out.print("nove ");
if(x==0) System.out.print("zero ");

return;
}
else{
int a=x%10;
int b=x/10;
bho(b);
if(a==1) System.out.print("uno ");
if(a==2) System.out.print("due ");
if(a==3) System.out.print("tre ");
if(a==4) System.out.print("quattro ");
if(a==5) System.out.print("cinque ");
if(a==6) System.out.print("sei ");
if(a==7) System.out.print("sette ");
if(a==8) System.out.print("otto ");
if(a==9) System.out.print("nove ");
if(a==0) System.out.print("zero ");
}
}

public static void main (String args[]) {
Scanner in=new Scanner(System.in);


System.out.println("inserisci un numero");

int n=in.nextInt();
bho(n);

System.out.println();

}
}
__________________
ho concluso affari con i seguenti forum: aessenet, amd planet, hwtweackers, hwupgrade.
in questo forum con: cicos, hungwavy se si scrive così, jcd,JeanCaneo, solertes, remok, Krosis,giorgio156c,-rambo-,
gertuzz,dOkTOR_dO,Leland Gaunt,f.loiacono, ercagno
marius84 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2009, 13:55   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Puoi anche usare una mappa con chiavi Character e valori String, tipo

Map<Character, String> numeriInLettere = new HashMap<Character, String>();

infilare nella mappa le corrispondenze:

numeriInLettere.put('0', "zero");
numeriInLettere.put('1', "uno");
numeriInLettere.put('2', "due");
eccetera

Dopodichè per ogni carattere della stringa stampi numeriInLettere.get(carattere).

Se avete fatto le mappe.

In alternativa puoi usare gli array (che sono mappe di un tipo particolare).

Dieci stringhe;

String[] mappa = { "zero", "uno", "due", "tre", ...eccetera };

e passi dal carattere al numero (che sarebbe poi la tua funzione di hashing) con una sottrazione:

indice = stringa.charAt(x) - '0';
e stampi mappa[indice];
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2009, 14:08   #3
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Codice:
package prova;
import java.util.*;
import java.lang.String;

public class Main {

	public static void foo(int x)
	{
		String[] vett = {"zero", "uno", "due", "tre", "quattro", "cinque",
				"sei", "sette", "otto", "nove"};
		
		if(x % 10 == x)
			System.out.println(vett[x]);
		
		else
		{
			int a = x % 10;
			int b = x / 10;
			
			foo(b);
			
			System.out.println(vett[a]);
		}
	}

	public static void main (String args[]) 
	{
		Scanner in = new Scanner(System.in);
		
		System.out.println("inserisci un numero: ");
		int n = in.nextInt();
	
		foo(n);
	
		System.out.println();
	}
}
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2009, 19:45   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
"Puliamola" un po':

Codice:
	public static int foo(int x)
	{
		String[] vett = {"zero ", "uno ", "due ", "tre ", "quattro ", "cinque ",
				"sei ", "sette ", "otto ", "nove "};
		
		if(x % 10 != x)
                	foo(x / 10);
		
		System.out.println(vett[x % 10]);		
	}
Dovrebbe essere equivalente, non l'ho fatta girare...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
SpaceX ha già lanciato oltre 135 ...
GeForce RTX 5060 Ti 8GB: non piace neanc...
Isar Aerospace Spectrum: il fallimento d...
'State lontani dalla GeForce RTX 5090 Fo...
GJ 251 c è la ''super-Terra'' sco...
Halo è ufficialmente multipiattaf...
Windows 11 25H2 e 24H2: come attivare su...
Brembo Solutions e Microsoft danno vita ...
Migliaia di pacchi Amazon rubati ai legi...
Ex CEO di Stellantis: Musk lascerà...
Record storico per i giochi Windows su L...
GPU introvabili: Microsoft accusa i mine...
RedTiger prende di mira i gamer: furto d...
Microsoft sotto accusa: avrebbe nascosto...
Il computer quantistico senza errori di ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v