当我运行时说:null // RELATIONS 1 - 1

时间:2014-05-26 17:56:26

标签: java

我正在完成我的程序以生成收据 我的程序读取三个事实,lecturaAnterior,lecturaActual和stratum。 这样做后告诉我nulll

它可能是什么?

感谢您的贡献。

CLASS ONE

public class Suscriptor {
    private int nuip;
    private String nombre;
    private String apellido;`




    public Suscriptor(int nuip, String nombre, String apellido) {
        this.nuip = nuip;
        this.nombre = nombre;
        this.apellido = apellido;
    }

    public int getNuip() {
        return nuip;
    }

    public String getNombre() {
        return nombre;
    }

    public String getApellido() {
        return apellido;
    }


}

CLASS TWO

public class Vivienda {
    private String direccion;
    private String barrio;
    private String ciudad;
    private byte estrato;`


    public Vivienda(String direccion, String barrio, String ciudad, byte estrato) {
        this.direccion = direccion;
        this.barrio = barrio;
        this.ciudad = ciudad;
        this.estrato = estrato;

    }

    public String getDireccion() {
        return direccion;
    }

    public String getBarrio() {
        return barrio;
    }

    public String getCiudad() {
        return ciudad;
    }

    public byte getEstrato() {
        return estrato;
    }

CLASS THREE

public class Recibo {
    public long lecturaAnterior;
    public long lecturaActual;
    public Vivienda viviend;
    public Suscriptor suscrip;`




    public Recibo(long lecturaAnterior, long lecturaActual) 
    throws Exception {
        if (lecturaAnterior <= 0.0F ){
            Exception e = new Exception ("La lectura anterior no puede ser menor a cero");
            throw e;
        }
        this.lecturaAnterior = lecturaAnterior;
        this.lecturaActual = lecturaActual;
        this.viviend = viviend;
        this.suscrip = suscrip;

    }

    public long getLecturaAnterior() {
        return lecturaAnterior;
    }

    public long getLecturaActual() {
        return lecturaActual;
    }

    public Vivienda getViviend (){
        return viviend ;
    }

  public Suscriptor getSuscrip () {
      return suscrip ;
  }


public long Consumo (){
    return ( this.lecturaActual - this.lecturaAnterior );

}

public long cargoBasico (){

    if  ( this.viviend.getEstrato() == 1 || this.viviend.getEstrato() == 2) {return 2000 ;}

    if (this.viviend.getEstrato() == 3) { return 5000 ; }

    if (this.viviend.getEstrato() == 4 || this.viviend.getEstrato() == 5 ) { return 5000; }

    if (this.viviend.getEstrato() == 6 || this.viviend.getEstrato() == 7 ) { return 12000 ; }

    return 0;

}

public long ValorConsumo () {
    return ( this.Consumo() * 250 ) ;
}

MAIN

import java.util.Scanner;`
/**
 *
 * @author christian1
 */
public class Programa {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

        try {

            Scanner scan = new Scanner (System.in);

            System.out.println("INGRESE LA LECTURA ANTERIOR : ");
            long lecturaAnterior = scan.nextLong();

            System.out.println("INGRESE LA LECTURA ACTUAL : ");
            long lecturaActual = scan.nextLong();

            System.out.println("INGRESE EL ESTRATO: ");
            byte estrato = scan.nextByte();

            Vivienda V1 = new Vivienda ("Av Junin 65-97","Rep De Israel","Villa de las Palmas",estrato );
            Suscriptor S1 = new Suscriptor (1113587452,"Juan","Roman");
            Recibo R1 = new Recibo (lecturaAnterior,lecturaActual);

            System.out.println ("PAGUE PORFAVOR: SEÑOR ... " + S1.getNombre()+"QUE VIVE EN "+ V1.getDireccion() + R1.ValorTotal() + " A CONTINUACION DISCRIMINAMOS SU CONSUMO" + R1.ValorConsumo() + R1.Incremento() + R1.Descuento() + R1.ValorIva() + R1.ValorTotal());


        } catch (Exception e){
        System.out.println(e.getMessage());  

}
}   }

1 个答案:

答案 0 :(得分:2)

正如ZouZou建议你在调试时可能会发现问题。或者读取异常可能。 在课程Recibo中,您不设置

的值
Vivienda viviend 
Suscriptor suscrip

在构造函数中,您只需将它们分配给self。创建它们并将其传递给构造函数,就像执行lecturaAnteriorlecturaActual或使用setter一样。