J'ai codé un programme qui prend un nombre et affiche les chiffres du nombre en mots. Jusqu'à présent, mon code compte les chiffres de la droite. Comment puis-je réparer cela?transformer les chiffres d'un nombre en mots
Mon code:
/*/ Write a program that reads an integer and extracts and displays each digit
of the integer in English. So, if the user types in 451,
the program will display four five one /*/
import static java.lang.System.*;
import java.util.*;
class Practice_Problems04_JavaPrograms_Task09{
public static void main(String[] args){
Scanner orcho = new Scanner(in);
String[] myArray = {"zero" , "one" , "two" , "three" , "four" , "five" , "six" , "seven" , "eight" , "nine"};
out.print("Please type your number: ");
double number = orcho.nextDouble();
for(int count = 0; count <= number; count++){
number /= 10.0;
out.print(myArray[(int)(10 * (number - (int)number))] + " ");
}
out.println();
orcho.close();
}
}
Avez-vous essayé d'imprimer 'nombre' dans la boucle? Est-ce qu'il imprime la commande que vous attendez? –
Aussi la question indique clairement «qui lit un entier» pourquoi utilisez-vous un 'nombre double ='? il suffit de coller avec 'Integer' pour éviter les vérifications et les erreurs inutiles. –
Cela pourrait aider à aller dans l'autre sens. Votre problème est divisé par dix est toujours de la droite. http://stackoverflow.com/questions/6757708/display-first-n-digits-of-a-number-in-java –