java我试图在for循环中反转字符串,但它就是不起作用
int num = 621126;
String secondHalfReverse = "";
String stringNum = "" + num;
String firstHalfProduct = stringNum.substring(0, 3);
String secondHalfProduct = stringNum.substring(3,6);
System.out.println("the first half is " + firstHalfProduct + " and the second half is: " + secondHalfProduct);
System.out.println(stringNum);
for(int i = 0; i < 3; i++)
{
int right = 1;
int left = 0;
String letter = secondHalfProduct.substring(left,right);
System.out.println(letter);
left++;
right++;
}
我从letter得到的输出是: 1. 1. 一,
而不是: 1. 2. 六,
我只是不明白为什么字母不会向上移动字符串并选择其他字母
# 1 楼答案
只需像这样更改循环,否则
right
和left
变量将设置为1
和0
每个循环# 2 楼答案
您应该将
int left
和int right
的声明移动到for循环上方每次执行循环时,它们的值都会重置。如果您将它们移出循环,则情况并非如此,它们将按预期的方式递增
# 3 楼答案
因为每次你循环,左和右都会回到1。把它们放在你的循环之外,它应该会起作用
# 4 楼答案
如果您不愿意使用for循环,有一种更简单的方法:
# 5 楼答案
在for循环中声明,因此每次迭代都会重置。在for循环之前声明它们