usa un'HashMap
come chiave metti il numero, mentre come valore il numero in inglese (una stringa per intenderci)
sarà una faticaccia caricare l'hashmap, ma è l'unico modo che attualmente mi viene in mente.
se non puoi usare l'hashmap, usa due vettori (uno d'interi e uno di stringhe). la faticaccia nel caricarlo c'è anche qui xd
eccoti un esempio con l'hashmap
codice:
import java.util.HashMap;
/**
* Progetto d'esempio sull'utilizzo dell'HashMap
* @autor Naruto 92
*/
public class NumeriInglesi_HM
{
private HashMap map=new HashMap();
/**
* Carica l'hashmaap con i numeri desiderati
*/
private void caricaNumeri(){
map.put(0, "zero");
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
map.put(4, "four");
map.put(5, "five");
map.put(6, "six");
map.put(7, "seven");
map.put(8, "eight");
map.put(9, "nine");
map.put(10, "ten");
//da inserirsi gli altri numeri
}
/**
* Ritorna il corrispondente del numero cercato in inglese
* @return una stringa che rappresenta la versione in inglese del numero cercato
* @param numero il numero da cercare
*/
public String getNumeroInInglese(int numero){
Object numeroInglese=map.get(numero);
return numeroInglese!=null?numeroInglese.toString() : null;
}
/**
* Avvio del programma
* @param argv array di stringhe passato in automatico dall'OS
*/
public static void main(String argv[]){
NumeriInglesi_HM ni=new NumeriInglesi_HM();
ni.caricaNumeri();
String numero="";
for(int i=0; i<20; i++){
numero=ni.getNumeroInInglese(i);
if(numero!=null){
System.out.println(numero);
}else{
System.out.println("Numero non presente!");
}
}
}
}
ed eccoti un esempio con i vettori
codice:
/**
* Progetto d'esempio sull'utilizzo di due vettori per simulare un'HashMap
* @autor Naruto 92
*/
public class NumeriInglesi_V
{
private String [] numeriInglesi=new String[11];
private int [] numeri=new int[11];
/**
* Carica i vettori con i numeri desiderati
*/
private void caricaNumeri(){
for(int i=0; i<11; i++){
numeri[i]=i;
}
numeriInglesi[0]="zero";
numeriInglesi[1]="one";
numeriInglesi[2]="two";
numeriInglesi[3]="three";
numeriInglesi[4]="four";
numeriInglesi[5]="five";
numeriInglesi[6]="six";
numeriInglesi[7]="seven";
numeriInglesi[8]="eight";
numeriInglesi[9]="nine";
numeriInglesi[10]="ten";
//da inserirsi gli altri numeri
}
/**
* Ritorna il corrispondente del numero cercato in inglese
* @return una stringa che rappresenta la versione in inglese del numero cercato
* @param numero il numero da cercare
*/
public String getNumeroInInglese(int numero){
for(int i=0; i<numeri.length; i++){
if(numeri[i]==numero){
return numeriInglesi[i];
}
}
return null;
}
/**
* Avvio del programma
* @param argv array di stringhe passato in automatico dall'OS
*/
public static void main(String argv[]){
NumeriInglesi_V ni=new NumeriInglesi_V();
ni.caricaNumeri();
String numero="";
for(int i=0; i<20; i++){
numero=ni.getNumeroInInglese(i);
if(numero!=null){
System.out.println(numero);
}else{
System.out.println("Numero non presente!");
}
}
}
}
tieni conto che con i vettori hai sempre il limite della dimensione e di non poter trattare dati eterogenei