为了澄清所使用的输入是100,用于投资金额,利率为5%(在该程序中,取5/100,然后/12=0.00417),在这种情况下,投资的持续时间为6个月。因此,在任何利息累积之前的第0个月,没有利息,所以这只是投资的投入金额(100)。然后,在第一个月,它现在运行正常((100*i)*(i interest());或在或情况下((100*1)*(10.00417))=100.417
但当我到了第二个月,而不是期望的201.252,我得到了400.833。
我正在做一项作业,作业中的输出应显示为:
Months Account Value
------ --------------
0 100.000
1 100.417
2 201.252
3 302.507
4 404.184
5 506.285
6 608.811
但我的表现是:
Months Account Value
0 100.000
1 100.417
2 400.833
3 901.250
4 1601.667
5 2502.083
6 3602.500
我可以看到,我的计算错误是在方法的某处,量保存()
,
这是我的类代码:
import java.text.DecimalFormat;
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
/**
*
* @author stephaniebrandon
*/
public class AccountValue {
private double amount;
private double rate;
private double months;
private static final DecimalFormat df = new DecimalFormat("0.000");
//Gets value of amount being inputted into account montly
public double getAmount() {
return amount;
}
//gets value of interest rate annually
public double getRate() {
return rate;
}
//gets value of amount of months investment will accumulate
public double getMonths() {
return months;
}
public void setAmount(double newAmount) {
amount = newAmount;
}
public void setRate(double newRate) {
rate = newRate;
}
public void setMonths(double time) {
months = time;
}
//Serive Methods
//Interest calculation
public double interest() {
double total = 0.0;
total += ((getRate() / 100) / 12);
return total;
}
//calculate accumulated interest in account
/**
* public double amountSaved(){ double total=0.0; total += (getAmount() *
* getRate() * getMonths()); return total; }
*/
public void amountSaved() {
double total = 0.0;
double val = 0.0;
System.out.println("\n Months \t Account Value \n");
for (int i = 0; i <= getMonths(); i++) {
if(i==0){
val+= getAmount();
}else
val = ((getAmount() * i) * (i + interest()));
System.out.println("\t" + i + "\t\t" + df.format(val));
}
}
//String returns description of object desired by dev
@Override
public String toString() {
String output = "";
output += "Montly savings Amount: $" + amount + "\n Annual interest rate, in percent: "
+ getRate() + "% " + "\nNumber of Months: " + months + "\n"+ interest();
return output;
}
}
以及测试人员课程:
import java.util.Scanner;
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
*/
/**
*
* @author stephaniebrandon
*/
public class AccountValueTester {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//Scanner object
Scanner scan = new Scanner(System.in);
//Create an account value object
AccountValue myAccount;
myAccount = new AccountValue();
//Get info from user
System.out.println("Enter amount, interest rate and number of months");
int inputA = scan.nextInt();
myAccount.setAmount(inputA);
int inputB = scan.nextInt();
myAccount.setRate(inputB);
int inputC = scan.nextInt();
myAccount.setMonths(inputC);
System.out.println(myAccount);
myAccount.amountSaved();
}
}
if(i==0){
val+= getAmount();
}else
val += ((getAmount()) * (i + interest()));
在第0步,val=100.000;在第1步,val=100.000(100.000*(i利息))
这就是为什么你有不受欢迎的价值。
如果你需要的话
0 100.000
1 100.417
2 201.252
3 302.507
4 404.184
5 506.285
6 608.811
然后它应该在i=1(但应该运行并调试)
val = ((getAmount() * i) * (i + interest()));
我正在使用JUnit和Mockito库来测试我的应用程序。问题是,当我在代码下面执行时,值在运行时没有返回空列表,并且测试失败。理想情况下,当get执行时,它应该返回空列表 我热切期待着支持。有没有人能帮我一下,如何通过这个测试用例???。如何通过Mockito使第8行的控件通过测试用例??? 请假设,下面两个类没有真实的代码,我们只有二进制文件作为JAR文件,我们不能修改下面的代码....我附上
问题内容: 今天,有人陪我一起滥用Java 中的关键字。我编写了一个简单的循环来验证数组中是否存在某些内容。假设是一个length数组,这是我的代码: 现在有人告诉我这不是一个很好的编程,因为我在循环内使用了该语句,这将导致垃圾回收发生故障。因此,更好的代码将是: 问题是我无法正确解释为什么第一个for循环不是一个好习惯。有人可以给我一个解释吗? 问题答案: 现在有人告诉我这不是一个很好的编程,因
loop 有个用途是尝试一个操作直到成功为止。若操作返回一个值,则可能需要将其传递给代码的其余部分:将该值放在 break 之后,并由 loop 表达式返回。 fn main() { let mut counter = 0; let result = loop { counter += 1; if counter == 10 {
我正在学习AOP Spring并尝试一些示例。关于@AfterBack ning,我所理解的是,只有当目标成功返回并且与切入点匹配时,才会调用该方法。然而,在我的例子中,如下所示,我有一个切入点,它定义了所有只返回字符串的方法,但它调用了所有空方法以及返回字符串的方法。 我的建议: 请在下面找到我的Impl课程: 请在下面找到我的MainApp类: 我原本希望只调用getCustomer(),因为
问题内容: 通过一些旧的公司代码,我遇到了一个如下所示的for循环: 我尝试了Google,但找不到任何答案。我是在编程课上睡着了还是这是一个不寻常的循环? 问题答案: 一个for在Java循环结构如下- for (initialization statement; condition check; update) loop body; 如你所见,这里有四个语句- 初始化语句:第一次进入循环时,该
问题内容: 我正在使用Newtonsoft的Json.Net从以下json中选择节点: 以下C#代码段 产量: 现在,这很酷,我想做的是按客户端代码过滤,我认为 可以,但是我显然对语法不够了解。这将返回一个空列表: 并且单个令牌选择器返回null: 我在https://jsonpath.curiousconcept.com/上尝试了几种不同的配置,看来我的查询语法确实坏了。 使用Flow Comm