/** * Spaziatore * * @version 10-Ott-2005 * @author Adriano Luchetta * * copyright: not applicable * * Classe che legge da standard input un numero intero positivo avente al * massimo 5 cifre e invia a standard output le singole cifre del numero * separandole con uno spazio. * * Ad esempo il numero 12345 verra' visualizzato nell'input * standard come 1 2 3 4 5, il numero 123 come 0 0 1 2 3. * */ /* * Algoritmo * ========= * Applicare la definizione di notazione posizionale in base 10 e le proprieta' * dell'operazioni intere divisione e modulo. * * Verifica del codice * =================== * Verificare il comportamento della classe con dati di ingresso non ammessi quali: * - numeri con piu' di cinque cifre * - numeri negativi * - numeri frazionari * - ingressi non numerici, ad esempio "ciao" * * Note * ==== * nel codice non sono usati enunciati iterativi perche' non ancora * introdotti al corso. * */ import java.util.Scanner; public class Spaziatore { public static void main(String[] args) { final int BASE = 10; // prompt all'operatore System.out.print("Inserire un numero compreso fra 0 e 99999: "); // lettura da standard input Scanner in = new Scanner(System.in); int n = in.nextInt(); int numero = n; System.out.println("il numero intero introdotto e': " + n); String riga= ""; //stringa vuota //prima cifra c1 int cifra = numero % BASE; riga = cifra + riga; // attenzione all'ordine degli // operandi: "c1" + "" = "c1" //seconda cifra c2 numero /= BASE; cifra = numero % BASE; riga = cifra + " " + riga; // "c2" + " " + "c1" = "c2 c1" //terza cifra c3 numero /= BASE; cifra = numero % BASE; riga = cifra + " " + riga; // "c3" + " " + "c2 c1" = "c3 c2 c1" //quarta cifra c4 numero /= BASE; cifra = numero % BASE; riga = cifra + " " + riga; // "c4" + " " + "c3 c2 c1" = // = "c4 c3 c2 c1" //quinta cifra c5 numero /= BASE; cifra = numero % BASE; riga = cifra + " " + riga; // "c5" + " " + "c4 c3 c2 c1" = // = "c5 c4 c3 c2 c1" //invio a standard output System.out.println(riga); in.close(); } }