/** * ToGenericBaseConverter * * @version 10-Ott-2005 * @author Adriano Luchetta * * copyright: not applicable * * Classe che legge da standard input un numero intero positivo n di cinque * cifre e invia a standard output le cifre del numero separandole con uno * spazio. * * Esempio: * se n = 12345 il programma stampa 1 2 3 4 5 * */ /* * Note * ==== * La classe non e' in grado di gestire numeri con un numero di cifre inferiori a 5. * Perche'? * In tal caso, qual e' l'errore generato durante l'esecuzione della * classe (errore run-time)? * * Nel codice non sono usati enunciati di controllo o iterativi perche' non ancora * introdotti al corso. * */ import java.util.Scanner; public class ToGenericBaseConverter { public static void main(String[] args) { System.out.println(""); System.out.println("***************************************************"); System.out.println("* Il programma converte un numero intero positivo *"); System.out.println("* in una base generica b con 2= < b <= 10. *"); System.out.println("* Il risultato e' espresso con otto cifre. *"); System.out.println("***************************************************"); System.out.println(""); // prompt all'operatore System.out.print("Inserire la base e il numero da convertire: "); // lettura da standard input Scanner in = new Scanner(System.in); int base = in.nextInt(); int numero = in.nextInt(); // conversione int k = numero; String result = ""; // stringa vuota int cifra = k % base; // 1^ cifra result = cifra + result; k /= base; cifra = k % base; // 2^ cifra result = cifra + result; k /= base; cifra = k % base; // 3^ cifra result = cifra + result; k /= base; cifra = k % base; // 4^ cifra result = cifra + result; k /= base; cifra = k % base; // 5^ cifra result = cifra + result; k /= base; cifra = k % base; // 6^ cifra result = cifra + result; k /= base; cifra = k% base; // 7^ cifra result = cifra + result; k /= base; cifra = k% base; // 8^ cifra result = cifra + result; // invio del risultato a standard output System.out.println(numero + " decimale = " + result + " in base " + base); in.close(); } }