Copiei o código do livro e estou fazendo exercicios…
mais o programa parece ki entra num laço infinito num sei oq fazer…
se alguem puder me ajudar!
eu agradeço!!!
public class CreditCard {
//Variaveis de instância:
private String number;
private String name;
private String bank;
private double balance;
private int limit;
//Construtor:
CreditCard(String no, String nm, String bk, double bal, int lim) {
number = no;
name = nm;
bank = bk;
balance = bal;
limit = lim;
}
//Métodos de acesso:
public String getNumber() {
return number;
}
public String getName() {
return name;
}
public String getBank() {
return bank;
}
public double getBalance() {
return balance;
}
public int getLimit() {
return limit;
}
//Métodos de ação:
public boolean chargelt(double price) { //Debita
if (price + balance > (double) limit)
return false;//Não há dinheiro suficiente para debitar
balance += price;
return true;//Neste Caso o débito foi efetivado
}
public void makePayment(double payment) {
balance -= payment;
}
public static void printCard(CreditCard c) {//Impri informações sobre o cartão
System.out.println("Number = " + c.getNumber());
System.out.println("Name = " + c.getName());
System.out.println("Bank = " + c.getBank());
System.out.println("Balance = " + c.getBalance());
System.out.println("Limit = " + c.getLimit());
}
}
public class Test {
@SuppressWarnings("empty-statement")
public static void main(String[] args) {
CreditCard wallet[] = new CreditCard[10];
wallet[0] = new CreditCard("5391 0375 9387 5309", "John Bowman", "California Savings", 0.0, 2500);
wallet[1] = new CreditCard("5391 0375 9387 5309", "John Bowman", "California Federal", 0.0, 3500);
wallet[2] = new CreditCard("5391 0375 9387 5309", "John Bowman", "California Finance", 0.0, 5000);
for (int i = 1; i <= 16; i++) {
wallet[0].chargelt((double) i);
wallet[1].chargelt(2.0 * i); //Conversão implícita
wallet[2].chargelt((double) 3 * i);//conversão explicita
}
System.out.println("Card payments: ");
for (int i = 0; i < 3; i++) {
CreditCard.printCard(wallet[i]);
while (wallet[i].getBalance()> 100.0);
wallet[i].makePayment(100.0);
System.out.println("New balance =" + wallet[i].getBalance());
}
System.out.println();
}
}

,