为什么启动方法在此代码中崩溃?

时间:2018-07-03 10:53:17

标签: methods netbeans

您好,我正在按照C Thomas Wu的书进行面向对象编程的学习,第4章有一个练习,我按照书中的练习进行操作,NetBeans我的IDE没有报告任何错误,但是当我运行该程序时,它崩溃了第16行,当我调用calculadora.start()时,我不知道为什么?寻求帮助的耐心在这里是我的代码:(以西班牙语发表评论,我来自哥伦比亚,而我是英语论坛,更好的答案)

import java.util.*;

public class calculadoraPrestamo {
    private Prestamo prestamo;

    private Scanner scanner;

    //METODO MAIN**************    
    public static void main(String[] arg) {
        //constructor de la clase
        calculadoraPrestamo calculadora = new calculadoraPrestamo();

        //llamado al método start,para que inicie ese método
        calculadora.start();
    }

    //constructor del objeto prestamo    
    public calculadoraPrestamo() {
        //creamos el constructor  NO ENTIENDO PORQUE CON LA CLASE SCANNER ??  
        scanner = new Scanner(System.in);
    }

    /*crearemos un método que llamaremos start y que podemos llamar para
    controlar toda la operacion*/
    public void start() {
        //creamos un método para describir el programa 
        describePrograma();
        //creamos un método para las entradas     
        entradas();
        /*creamos un método para los pagos     
        pago();*/
        //creamos un método para las salidas    
        salida();
    }

    //método que describe el progama
    private void describePrograma() {
        System.out.println(" Programa de prestamos ");
    }

    //Método que describe valores de entrada, pagos mensuales y totales
    private void salida() {
        System.out.println(" Cantidad del prestamo :" + prestamo.getCantidad());
        System.out.println(" Tasa de interes anual :" + prestamo.getTasa() + "%");
        System.out.println(" El periodo en años es :" + prestamo.getPeriodo());
        System.out.println(" El pago mensual es : " + prestamo.getPagomensual());
        System.out.println(" El pago total es de : " + prestamo.getPagoTotal());
    }

    /*Método GETTER que captura 3 valores: cantidad, tasa de interes,
    y periodo del prestamo usando una caja de texto*/
    private void entradas() {
        //estas variables son propias de este método    
        double cantidad, tasaAnual;
        int periodo;

        System.out.print(" Cantidad Solicitada (Pesos con centavos): ");
        /*Captura el valor por teclado y lo almacena en la variable cantidad
        esta variable es de este método*/
        cantidad = scanner.nextDouble();

        //captura de la tasa de interes anual
        System.out.print(" Tasa de Interés anual (por ejemplo..9.5)");
        tasaAnual = scanner.nextDouble();

        //captura el periodo en años
        System.out.print(" Periodo - # de años");
        periodo = scanner.nextInt();

        //creamos un nuevo objeto prestamo con los valores de entrada    
        prestamo = new Prestamo(cantidad, tasaAnual, periodo);
    }
}

0 个答案:

没有答案