2014-07-12 7 views
-1

S'il vous plaît ont alook Dans le code ci-dessus au-dessous du codevariables non définies dans le code java

public class Account { 

    private String firstName; 
    private String lastName; 
    private int accountNumber; 
    private int apin; 
    private double abalance; 

    public Account(String fname, String lname, int anumber, int pin, 
      double balance) { 
     fname = firstName; 
     lname = lastName; 
     anumber = accountNumber; 
     pin = apin; 
     balance = abalance; 

     System.out.println("variables set"); 
    } 

    public String getfirstName() { 
     return firstName; 
    } 

    public String getlastName() { 
     return lastName; 
    } 

    public int getaccountNumber() { 
     return accountNumber; 
    } 

    public int getpin() { 
     return apin; 
    } 

    public double getbalance() { 
     return abalance; 
    } 

} 


public class bank { 

    private Account[] account; 
    boolean flag = false; 
    Account returnAccount; 

    public Account bank(int anum, int pin) { 
     account = new Account[3]; 
     account[0] = new Account("Steve", "Kom", 1234, 333, 50000); 
     account[1] = new Account("Mack", "Dumbo", 2345, 123, 80000); 
     account[2] = new Account("Xina", "Patt", 2145, 222, 40000); 

     System.out.println(account[0].getaccountNumber()); 

     for (Account aa : account) { 
      System.out.println(aa.getaccountNumber()); 
     } 

     return returnAccount; 
    } 
} 

les méthodes get me reviennent toujours 0, pourquoi les variables ne sont pas se définir. Je suis si confus ce que je fais mal.

+1

Mauvaise question. Vous n'avez pas pris la peine de signaler * quelles * les variables ne sont pas définies. Vous devriez essayer de déboguer votre code afin de pouvoir 1) réduire la portée de votre problème et 2) éventuellement corriger un problème apparent de votre part en étant contraint d'examiner de plus près le code. – ChiefTwoPencils

+0

Vos variables d'instance ne sont pas définies car elles ne sont pas définies. Voyez-vous une ligne où ils sont fixés? – abl

Répondre

0

Vous définissez des valeurs erronées dans le constructeur

fname = firstName; 

changement à

this.firstName = fname; 
+0

wow erreur la plus stupide jamais. J'ai tout le langage mélangé shell, plsql et tous Merci .. – Nomad

0
public Account(String fname, String lname, int anumber, int pin, 
    double balance) { 
fname = firstName; // swap 
lname = lastName; // swap 
anumber = accountNumber; 
pin = apin; 
balance = abalance; 

System.out.println("variables set"); 
} 
+0

Cette réponse a vraiment besoin d'une sorte d'explication. – davidkonrad

1

syntaxe d'affectation incorrect dans le constructeur:

public Account(String fname, String lname, int anumber, int pin, 
     double balance) { 
    fname = firstName; //incorrect assignment 
    lname = lastName; //incorrect assignment 
    anumber = accountNumber; //incorrect assignment 
    pin = apin; //incorrect assignment 
    balance = abalance; //incorrect assignment 

    System.out.println("variables set"); 
} 

qui devrait être

public Account(String fname, String lname, int anumber, int pin, double balance) { 
     firstName = fname; //switched - correct assignment 
     lastName = lname ; //switched - correct assignment 
     accountNumber = anumber; //switched - correct assignment 
     apin = pin ; //switched - correct assignment 
     abalance = balance; //switched - correct assignment 

     System.out.println("variables set"); 
} 
+1

Mais il doit aussi changer toutes les autres affectations. –

+0

@Stendika: mise à jour prend au moins 2 minutes ... je tape lentement !! :) – NoobEditor

Questions connexes