Új hozzászólás Aktív témák

  • Dirty_Pio

    csendes tag

    Sziasztok,

    Van egy kis problemam a kovetkezo koddal: a foridto leforditja, de amikro futtatom a programot a mainbe arthimetic exeption errort ad es kapa.

    class Owner{

    private String name;
    private int CNP;
    private Property[] pr=new Property[16];
    private int leng;

    public Owner(String name){
    this.name=name;
    }

    public Owner(String name, int CNP)
    {
    this(name);
    this.CNP=CNP;
    }

    public void buy(Property p[],int len)
    {
    int i;
    for (i=0;i<len;i++)
    pr[i]=p[i];
    leng=len;
    }

    public boolean na(String n)
    {
    if (n==name) return true;
    else return false;
    }

    public boolean cn(int c)
    {
    if (c==CNP) return true;
    else return false;
    }

    public String toString()
    {
    String s;
    int money=0,i;
    s="Owner "+name +"\nProperty:\n";
    for (i=0;i<leng;i++)
    {
    if (pr[i] instanceof Field)
    s+="Field:\n"+pr[i].ret();
    else
    s+="Building:\n"+pr[i].ret();
    money+=pr[i].price();
    }
    s+="\nTotal sum: "+money;
    return s;
    }
    }

    abstract class Property{

    protected String add;
    protected int sur;

    public Property(String ad,int s)
    {
    add=ad;
    sur=s;
    }

    abstract int price();

    public String qq()
    {
    return add+"\nSurface: "+sur+"\n";
    }

    abstract String ret();

    }

    class Field extends Property{

    private int rank;

    public Field (String ad, int s, int r)
    {
    super(ad,s);
    rank=r;
    }

    public int price ()
    {
    return 350*sur/rank;
    }

    public String ret()
    {
    String s;
    s=super.qq();
    s+="cost : "+this.price();
    return s;
    }
    }

    class Building extends Property{

    protected int value;

    public Building(String ad,int s)
    {
    super(ad,s);
    }

    public int price()
    {
    return sur*500;
    }

    public String ret()
    {
    String s;
    s=super.qq();
    s+="cost : "+this.price();
    return s;
    }
    }

    class Operator{

    private String n;
    private int nr;

    public Operator(String n)
    {
    this.n=n;
    }

    public Operator(int nr)
    {
    this.nr=nr;
    }

    public int search(Owner[] p,int l)
    {
    int i;
    if (nr==0)
    for(i=0;i<l;i++)
    {
    if (p[i].na(n)) return i;
    }
    else
    for (i=0;i<l;i++)
    if (p[i].cn(nr)) return i;

    return -1;
    }

    }

    class P5{

    public static void main(String [] args)
    {
    Property[] P;
    int i,len=3;
    P=new Property[len];
    for (i=0;i<len;i++)
    {
    if (i%2==0) P[i]=new Field("address "+i,i*25,i);
    else P[i]=new Building("address "+i,i*75);
    }

    Owner[] o;
    o=new Owner[2];
    o[0]=new Owner ("Ion Popescu",225533);
    o[1]=new Owner("Gigi",553694);
    o[0].buy(P,len);

    int q;

    Operator op;

    op=new Operator("Ion Popescu");
    q=op.search(o,2);
    if (q!=-1)
    System.out.println(o[q]);
    }
    }

Új hozzászólás Aktív témák

Hirdetés