java - 三角数 Java
问题描述
问题是相同结果有两种类型的代码(三角形数)
1.
for (int i = 1; i <= 10; i++) {
int triangular = 0;
for (int j = 1; j <= i; j++) {
triangular = triangular + j;
}
System.out.println(i + " = " + triangular);
2.
int x =1;
int triangular = 1;
while(x<=10){
System.out.println(x+ "=" +triangular);
x++;
triangular= triangular+x;
}
为什么 (1) "int triangualr" 是 0 而 (2) 它是 1 ??? 我不明白
解决方案
在方法 1 中,每次在 for 循环中初始化 int triangular。嵌套 for 循环正在计算三角形的值,然后您正在打印该值
for (int i = 1; i <= 10; i++) {
int triangular = 0;
for (int j = 1; j <= i; j++) {
triangular = triangular + j;
}
System.out.println(i + " = " + triangular);
}
但是在方法 2 中,在 while 循环的第一行中打印 x=1 的值,然后增加 x 的值
int x =1;
int triangular = 1;
while(x<=10){
System.out.println(x+ "=" +triangular);
x++;
triangular= triangular+x;
}
因此,在第一种方法中,三角形的值是从 1 开始计算的,而在第二种方法中,三角形的值不是针对第一次迭代计算的
推荐阅读
- sql - 使用 DATEADD 和 DATEDIFF 组合日期和时间
- php - Codeigniter 4 和服务类
- algorithm - push-relabel 算法中残差图的意义何在?
- javascript - 如何从对象数组创建新对象?
- wolfram-mathematica - 在 Mathematica 中使用 Manipulate 的问题
- performance - 如何确定Jetty中每个用户的线程数
- python - 求解同时的线性和非线性方程和不等式
- google-api - 是否有从 G-Suite Basics 中提取帐单/付款数据的 API?
- sicstus-prolog - 如何在 Windows 上安装 Berkeley DB for SICstus?
- google-sheets - Google表格 - 如何根据同一行中另一列的值计算一列