Java运行缓慢的解决方案
来源:爱站网时间:2022-04-26编辑:网友分享
作为Java新手,了解整个编程的内容是最基本的要素,如果你在操作过程中发现Java运行缓慢,应该怎么处理会比较好呢?带着问题,来看看爱站技术频道小编所整理的资料。
问题描述
我正在尝试执行我的Java代码,但是它说花费的时间太长。有一种方法弹出说要检查我是否有无限循环。我不。至少我不这么认为。我是Java的新手,所以我真的需要帮助。我的作业需要一个for循环,这是我想出的代码
import java.lang.Math;
public class Main{
double initialBalance;
double interestRate;
double years;
double totalPayment;
double firstInterest;
double lastInterest;
double totalInterest;
double totalPrincipal;
double firstPrincipal;
double lastPrincipal;
double firstBalance;
double lastBalance;
double monthlyPayment;
public static final double periodsPerYear = 12;
public static final double invalidNum = -1.0;
public Main(double balance, double interest, double Life){
initialBalance = balance;
interestRate = interest;
years = Life;
//monthlyPayment calculation
monthlyPayment = initialBalance * ((interestRate/periodsPerYear)+((interestRate/periodsPerYear)/(Math.pow(1+(interestRate/periodsPerYear),periodsPerYear*years)-1)));
for (double i=0;i?" ) );
System.out.println( loan.getAmount( "{)*(&EPQWR", "interest") );
}
}
我该怎么做才能使其执行更快?我究竟做错了什么?
思路一:
首先,您提供的代码无法编译。未声明getAmount()中的变量“ valid”和“ lastBalance0”。可能您忘记了在此方法的顶部声明“双重有效”,并键入了“ lastBalance0”而不是“ lastBalance”。
您的代码还存在其他一些问题:
-
在for循环中将变量'i'的类型更改为'int'
-
将return Math.round((valid * 100.00)/100.00)更改为返回Math.round(valid * 100.00)/100.00
-
考虑使用“ first” .equals(month)代替month.equals(“ first”),因为如果month为空,它不会引发NullPointerException。
思路二:
正如Alex所指出的,您的代码无法编译。
修复了这两件事之后,它确实运行了:
- 声明双精度变量
- 将错字lastBalance0修复为lastBalance
代码已运行,这是输出:
Mon Feb 24 09:34:37 CET 2020
1582533277204
4387.13897340686
5291.335361764231
105291.33536176465
417.0
3970.0
96030.0
-1.0
18.0
4369.0
0.0
-1.0
-1.0
Mon Feb 24 09:34:37 CET 2020
1582533277206
我在开始和结束时添加了以毫秒为单位的当前日期和时间的打印,并且该程序需要2毫秒的时间来执行。
希望朋友们都对“Java运行缓慢的解决方案”了解清楚了,如果你想深入认识Java编程方面的内容,欢迎来我们爱站技术频道网站翻阅相关文章。
上一篇:在Java中创建唯一集合的集合