Buongiorno,
Anch'io ho un problema di lettura da Scanner. Il codice seguente funziona se si trova, con le opportune modifiche, nella classe con il metodo main(). Se, invece, i metodi che eseguono il calcolo si trovano in un'altra classe, l'output � errato in quanto risulta sempre uguale a 0.
Codice classe Rendimento:
public class Rendimento {
private int tassoInteresse;
private int anni;
private double capitale;
public double CalcolaRendimentoSemplice(){
double tasso = tassoInteresse/100;
return capitale*tasso*anni;
}
public double CalcolaRendimentoComposto(){
double tasso = tassoInteresse/100;
return capitale*(1+tasso)*anni;
}
}
Codice classe con il metodo main():
import java.util.Scanner;
public class CalcoloRendimento {
public static void main(String[] args) {
Rendimento r = new Rendimento();
Scanner sc = new Scanner(System.in);
System.out.print("Inserisci il capitale da investire: ");
double capitale = sc.nextDouble();
System.out.print("Inserisci il tasso di interesse: ");
double tassoInteresse = sc.nextDouble();
System.out.print("Inserisci il numero di anni: ");
int anni = sc.nextInt();
System.out.println("Il rendimento semplice � di " + r.CalcolaRendimentoSemplice() + "�");
}
}
Output:
Inserisci il capitale da investire: 4
Inserisci il tasso di interesse: 1
Inserisci il numero di anni: 1
Il rendimento semplice � di 0.0�
Ovvero il rendimento risulta sempre 0 qualunque valore assumano i parametri immessi a console.