我正在尝试旋转包含两个以上元素的String中的元素并将其打印出来。
public class Solution1 {
public static void main(String[] args) {
String strArray[] = { "ab", "bc", "abc", "ca", "cba", "xyz", "xy" };
int shift = 0;
for (int i = 0; i < strArray.length; i++) {
for (int j = i; j < strArray.length; j++,i++) {
if (strArray[j].length() >= 3) {
strArray[shift] = strArray[j];
break;
}
}
shift++;
}
for (int i = 0; i < shift; i++) {
System.out.println(strArray[i]);
}
}
}
我获得了正确的输出:{ "ab", "bc", "abc", "ca", "cba", "xyz", "xyz" }
但不是:{ "ab", "bc", "abc", "ca", "cba", "xyz", "xy" }
有什么问题?
答案 0 :(得分:1)
如果您使用shift++;
代替break;
语句,则代码将起作用。但是,您的解决方案可以简化和改进。