java - 3行只有for循环,很困惑

标签 java string loops for-loop variables

为什么输出是22212345?

不应该是:“43212345”,因为当我们不断将字符串的第一个值添加到字符串的先前版本中时。

因此每次我们增加 k 时,我们都会从 2,3,4 开始并将其添加到之前的版本中。

为什么输出是22212345?

String str = "12345";

for (int k = 1; k <= 3; k++) 
            str = str.charAt(k) + str;

最佳答案

So everytime we increment k, we are going from 2,3,4 and adding it onto the previous version.

不,你不是。您在 str 前面添加了 k 处的字符。

所以,如果我们拿出一支笔和一张纸并在办公 table 上检查代码(为什么人们不再在办公 table 上检查😓),您就会看到实际发生了什么......

+---+-----------+---------+-----------------------+
| k | char at k |   str   | result (charAt + str) |
+---+-----------+---------+-----------------------+
| 1 |         2 |   12345 |                212345 |
| 2 |         2 |  212345 |               2212345 |
| 3 |         2 | 2212345 |              22212345 |
+---+-----------+---------+-----------------------+

关于java - 3行只有for循环,很困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59978478/

相关文章:

c - 如何使用平方根优化c中的循环(完美、丰富、不足)

java - 调用 JNI 函数创建对象

java - 我可以使用 Java SWT 应用程序作为 Activex 主机吗?

java - 覆盖和弱化访问修饰符

java - 字符串的值对象

c# - 字符串比较 : Why we have different output for below cases

c - 在C中的二维矩阵中打印第二对角线下的元素

java - 为什么我使用看似简单的 StringTemplate 代码会收到 NullPointerException?

iphone - 多个类 iOS 中的一个字符串

javascript - 如何遍历表中的图像,获取所有图像的 src 并应用于新表中的新图像?