关于这段代码的唯一信息是这个CreditCard类定义了模拟传统信用卡简化版本的信用卡对象。它们存储有关客户、发行银行、帐户标识符、信用额度和当前余额的信息。他们不收取利息或滞纳金,但他们限制会导致信用卡余额超过信用额度的费用。以下代码摘自《java中的数据结构和算法》一书:请帮助我了解for循环,它是:
for (int val = 1; val <= 16; val++) {
wallet[0].charge(3*val);
wallet[1].charge(2*val);
wallet[2].charge(val);
}
为什么充电方法有参数3val、2val和val。这个循环真正做什么?从以下代码:
package com.illustrations;
public class CreditCard{
private String customer;
private String bank;
private String account;
private int limit;
protected double balance;
public CreditCard(String customer, String bank, String account, int limit, double balance){
this.customer = customer;
this.bank = bank;
this.account = account;
this.limit = limit;
this.balance = balance;
}
public CreditCard(String customer, String bank, String account, int limit) {
this(customer, bank, account, limit, 0.0);
}
public String getCustomer(){ return customer; }
public String getBank() { return bank; }
public String getAccount() { return account; }
public int getLimit() { return limit; }
public double getBalance() { return balance; }
public boolean charge(double price) {
if(price + balance > limit)
return false;
balance = balance + price; return true;
}
public void makePayment(double amount) {
balance -=amount;
}
public static void printSummary(CreditCard card) {
System.out.println("Customer ="+card.customer);
System.out.println("Bank ="+card.bank);
System.out.println("Account ="+card.account);
System.out.println("Balance ="+card.balance);
System.out.println("Limit ="+card.limit);
}
public static void main(String[] args) {
CreditCard[ ] wallet = new CreditCard[3];
wallet[0] = new CreditCard("John Bowman", "California Savings", "5391 0375 9387 5309", 5000);
wallet[1] = new CreditCard("John Bowman", "California Federal", "3485 0399 3395 1954", 3500);
wallet[2] = new CreditCard("John Bowman", "California Finance", "5391 0375 9387 5309", 2500, 300);
for (int val = 1; val <= 16; val++) {
wallet[0].charge(3*val);
wallet[1].charge(2*val);
wallet[2].charge(val);
}
for (CreditCard card : wallet) {
CreditCard.printSummary(card); // calling static method
while (card.getBalance() > 200.0) {
card.makePayment(200);
System.out.println("New balance = " +card.getBalance());
}
}
}
}
我真的看不出有什么意义。事实上,定义了3种钱包——储蓄、联邦和金融,储蓄在剩下的两种钱包中信用额度最大。所以我们在3*val
的for循环中做的是保持储蓄钱包中存钱的速度是金融钱包的三倍,因为它的限额要高得多。一旦达到限制,我们就不允许在钱包中添加更多的钱。
我正在编写一个 Java 程序。它应该打印出年终账户余额,今年投资,年度回报和年度数量。前任: 第一年-投资10000美元,投资额为10%,最终投资额为11000美元第二年-在现有11000美元的基础上再投资10000美元,现在你有21000美元,年回报率为2100美元,最终投资额为23100美元,持续投资6年。 我的代码打印了所有6年,但与第一年的值相同。循环有什么问题吗?非常感谢。这里我的代码
本文向大家介绍jQuery的each循环用法简单示例,包括了jQuery的each循环用法简单示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery的each循环用法。分享给大家供大家参考,具体如下: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery拖拽特效与技巧总结》、《j
本文向大家介绍C#中for循环、while循环循环执行的方法,包括了C#中for循环、while循环循环执行的方法的使用技巧和注意事项,需要的朋友参考一下 先给大家介绍下C#中的循环执行for循环 在这一节练习中,我们向大家介绍一下C#中的另一种重要的循环语句,for循环。 表达式1:一般为赋值表达式,给控制变量赋初值; 表达式2:逻辑表达式,循环控制条件;当条件为真时,循环执行循环体中的语句。
本文向大家介绍C++11的for循环,以及范围Range类的简单实现,包括了C++11的for循环,以及范围Range类的简单实现的使用技巧和注意事项,需要的朋友参考一下 C++11支持range-based for循环。这是一个很方便的特性,能省挺多代码。以下代码就能很方便的遍历vector中的元素,并打印出来: 可以遍历的对象包括: •数组。(不包括指针) •定义了begin()和end()方
问题内容: 目前,我正在为Java测试学习。在学习期间,我遇到了一个小问题。 在此for循环中: 输出为: 我的问题是,我不了解。当我阅读这段代码时,我一直认为它应该看起来像这样: 为什么不是这样? 问题答案: i的每次迭代都将开始j的全新迭代。 因此,从i == 1开始,然后在循环中j == 1,2,3。然后i == 2,然后j == 1,2,3循环,依此类推。 一次一步地执行它,这将是有意义的
问题内容: 这应该很简单,但是我真的很难做到正确。我需要的只是一个简单的ttk ComboBox,它可以在选择更改时更新变量。 在下面的示例中,我需要在每次进行新选择时自动更新变量的值。 问题答案: 只需将虚拟事件绑定到Combobox小部件: