2013-06-22 1 views
0

Этот код предназначен для печати этих объектов в файле с именем customer.txt. Он работает правильно, но я пытаюсь поставить условие, как если бы баланс> 3000 напечатать этот объект.

Как я могу объявить баланс? Должен ли я читать байты для баланса и печатать его?как сделать условие для баланса, чтобы распечатать его

File a = new File("customer.txt"); 

FileWriter v = new FileWriter(a); 
BufferedWriter b = new BufferedWriter(v); 
PrintWriter p = new PrintWriter(b); 


human Iman = new human("Iman", 5000); 
human Nour = new human("Nour", 3500); 
human Redah = new human("Redah", 0); 
human iman = new human("iman", 200); 
human MohamedREDA = new human("MohamedREDA", 3000); 
human Mohamed_Redah = new human("Mohamed Redah", 2000); 

human[] h = new human[6]; 

h[0] = Iman; 
h[1] = Nour;`` 
h[2] = Redah; 
h[3] = iman; 
h[4] = MohamedREDA; 
h[5] = Mohamed_Redah; 

p.println(Iman); 
p.println(Nour); 
p.println(Redah); 
p.println(iman); 
p.println(MohamedREDA); 
p.println(Mohamed_Redah); 

p.flush(); 
} 

} 
class human { 
    public String name; 
    public double balance; 

    public human(String n, double b) { 
     this.balance = b; 
     this.name = n; 

    }@ 
    Override 
    public String toString() { 
     return name + " " + balance; 
    } 
+1

Что о добавлении в методе ToString? –

ответ

2

Измените вашу логику, как показано ниже:

Loop через по массиву

for (int i = 0; i < h.length; i++){  
    if(h[i].balance>3000){ 
     p.println(h[i]); 
    } 
} 
+0

спасибо, что он сработал ^^ – user2509219

+0

Рад помочь вам :) –

+0

no no no no, 'toString' не предназначен для этой цели. Ваш метод toString всегда должен возвращать текстовое представление вашего объекта и никогда не содержать бизнес-логику, как это. –