/** * classe di prova della classe CalcolatoreNumerico * * @author Adriano Luchetta * @version 22-Ott-2005 * */ import java.util.Scanner; public class ProvaCalcolatoreNumerico { public static void main(String[] args) { final String PRIMO = "a"; final String MHD = "b"; final String FATTORIZZAZIONE = "c"; final String FIBONACCI = "d"; final String TRIANGOLARE = "e"; final String QUIT = "q"; System.out.println("***CALCOLATORE NUMERICO***"); Scanner in = new Scanner(System.in); while (true) { System.out.println( "\nDigita:\n" + PRIMO + " per verificare se un numero e' primo\n" + MHD + " per calcolare il MCD\n" + FATTORIZZAZIONE + " per scomporre in fattori primi\n" + FIBONACCI + " per visualizzare l'n-esimo termine della successione di fibonacci\n" + TRIANGOLARE + " per visualizzare l'n-esimo numero triangolare\n" + QUIT + " per uscire\n"); String line = ""; if (in.hasNext()) line = in.next(); if (line.equalsIgnoreCase("Q")) break; if (line.equalsIgnoreCase(PRIMO ) || line.equalsIgnoreCase(FATTORIZZAZIONE) || line.equalsIgnoreCase(FIBONACCI) || line.equalsIgnoreCase(TRIANGOLARE)) { System.out.print("n?: "); int n = -1; if (in.hasNextInt()) n = in.nextInt(); if (n < 0) System.out.println("n < 0, riprova"); else { if (line.equals(PRIMO)) { if (CalcolatoreNumerico.primo(n)) System.out.println(n + " e' primo"); else System.out.println(n + " non e' primo (" + n + " = " + CalcolatoreNumerico.fattori(n) + ")"); } else if (line.equals(FATTORIZZAZIONE)) System.out.println(n + " = " + CalcolatoreNumerico.fattori(n)); else if (line.equals(FIBONACCI)) System.out.println("f(" + n + ") = " + CalcolatoreNumerico.fibonacci(n)); else System.out.println("t(" + n + ") = " + CalcolatoreNumerico.triangolare(n)); } } else if (line.equals(MHD)) { System.out.print("p e q?: "); int p = 0; if (in.hasNextInt()) p = in.nextInt(); int q = 0; if (in.hasNextInt()) q = in.nextInt(); if (p <= 0) System.out.println("p <= 0, riprova"); else if (q <= 0) System.out.println("q <= 0, riprova"); else System.out.println("MCD(" + p + "," + q +") = " + CalcolatoreNumerico.mcd(p,q)); } else System.out.println("opzione non ammessa"); } System.out.println("***FINE PROGRAMMA***"); } }