Seleziona una pagina

Nelle prime lezioni abbiamo analizzato un programma per calcolare gli interessi composti maturati dopo due anni. Ma come facciamo se cambia, per esempio, il tasso di interesse applicato?
Per calcolare il nuovo valore degli interessi maturati dobbiamo modificare il programma. Lo stesso vale se vogliamo calcolare gli interessi maturati da un nostro amico che possiede più soldi di noi.
In realtà il programma che abbiamo scritto va bene per un valore del tasso e del capitale fissato.

Per avere un programma che calcoli l’interesse composto maturato dopo due anni dato un qualsiasi capitale iniziale e un qualsiasi interesse applicato possiamo fare in modo che il programma richieda all’utente l’immissione di questi due valori a ogni esecuzione e calcoli gli interessi corrispondenti.

Ogni diversa esecuzione del programma leggerà quindi dallo standard input i valori con cui inizializzare le variabili capitale e tasso.

Per questo introduciamo la classe Scanner, definita nel package java.util. Essa rappresenta uno scanner di testo capace di riconoscere i tipi primitivi e le stringhe, utilizzando le espressioni regolari.

Per prima cosa va importata all’interno del nostro programma. Quindi in altro fuori da qualsiasi blocco:

import java.util.Scanner;

Poi va dichiarata una variabile, che ad esempio chiameremo varInput, di tipo Scanner e va creato l’oggetto che rappresenta la tastiera mediante un’istruzione:

Scanner varInput = new Scanner(System.in);

Infine va applicato uno dei seguenti metodi della classe Scanner all’oggetto appena creato:

int nextInt() legge un numero intero, e restituisce il numero letto
double nextDouble() legge un numero reale, e restituisce il numero letto
String nextLine() legge una linea di testo, e la restituisce
String next() legge un “token” (intuitivamente, una sequenza di caratteri contigui e senza separatori), e restituisce il token letto
boolean hashNextInt() – boolean hashNextDouble() verifica se il prossimo token può essere interpretato come un numero intero/reale

boolean hashNextLine() – boolean hashNext() verifica se in input è disponibile una ulteriore linea/token

Esempio:

import java.util.Scanner;

public class InteresseInput {

    public static void main(String[] args) {

        Scanner varInput = new Scanner(System.in);
        //Crea un oggetto di tipo Scanner.

        double interesse;
        double capitale;
        double tasso;

        System.out.print(“Inserisci il tuo capitale: “);
        //Stampa una stringa a video così “da chiedere” l’input all’utente. Non va accapo.

        capitale = varInput.readDouble();
        //legge un numero reale e lo assegna alla variabile capitale
        System.out.println(“”);//Non stampa nulla, serve solo per andare accapo

        System.out.print(“Inserisci il tasso di interesse: “);
        tasso = varInput.readDouble();

        interesse = capitale * tasso;

        System.out.println(“”);
        System.out.print(“L’interesse dopo un anno e’: “);
        System.out.println(interesse);
        //System.out.println(…) stampa il parametro che gli viene passato tra parentesi come stringa e va accapo.
    }
}

Output:

Inserisci il tuo capitale: 5787.63
Inserisci il tasso di interesse: 0.02
L’interesse dopo un anno e’: 115,7526

Cosa ne pensate?

In caso di dubbi o consigli lasciate un commento!
Grazie per l’attenzione.