【发布时间】:2017-06-25 07:31:01
【问题描述】:
我对这段代码有疑问。否则它会完全按照标题所说的那样做,但是如果给定的字符串是“aa”和“bbbb”,它只会打印“abab”而不是应该打印“abbabbb”。从较短的字符串打印字符后,程序似乎停止了。代码如下:
public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);
System.out.print("Anna merkkijono: ");
String merkkijono1 = lukija.nextLine();
System.out.println("Anna toinen merkkijono: ");
String merkkijono2 = lukija.nextLine();
for (int index = 0; index < merkkijono1.length() || index < merkkijono2.length(); index++) {
if (merkkijono1.length() > index) {
System.out.print(merkkijono1.charAt(index));
if (merkkijono2.length() > index) {
System.out.print(merkkijono2.charAt(index));
}
}
}
}
}
所以即使字符是从较短的字符串打印出来的,我也应该让它继续,有什么提示吗?
由于某种原因,其中一个括号不适合代码文本,我无法包含 java.util.Scanner 和公共类,而不会将整个代码文本变成一团糟,对此感到抱歉。
【问题讨论】:
-
不需要嵌套两个
if语句。取消嵌套它们,它应该可以解决您的问题。
标签: java string loops java.util.scanner charat