Java 在从较短的字符串打印字符后,程序停止从两个字符串一次打印一个字符
我对这个代码有问题。否则它会完全按照标题所说的做,但是如果给定的字符串是“aa”和“bbbb”,它只打印“abab”,而应该打印“ababbb”。从较短字符串打印字符后,程序似乎停止。代码如下:Java 在从较短的字符串打印字符后,程序停止从两个字符串一次打印一个字符,java,string,loops,java.util.scanner,charat,Java,String,Loops,Java.util.scanner,Charat,我对这个代码有问题。否则它会完全按照标题所说的做,但是如果给定的字符串是“aa”和“bbbb”,它只打印“abab”,而应该打印“ababbb”。从较短字符串打印字符后,程序似乎停止。代码如下: publicstaticvoidmain(字符串[]args){ 扫描仪lukija=新扫描仪(System.in); 系统输出打印(“Anna merkkijono:”); 字符串merkkijono1=lukija.nextLine(); System.out.println(“Anna toine
publicstaticvoidmain(字符串[]args){
扫描仪lukija=新扫描仪(System.in);
系统输出打印(“Anna merkkijono:”);
字符串merkkijono1=lukija.nextLine();
System.out.println(“Anna toinen merkkijono:”);
字符串merkkijono2=lukija.nextLine();
对于(int index=0;index索引){
系统输出打印(merkkijono1.charAt(索引));
if(merkkijono2.length()>索引){
系统输出打印(merkkijono2.charAt(索引));
}
}
}
}
}
所以我应该让它继续,即使字符是从较短的字符串打印出来的,有什么提示吗
另外,由于某些原因,其中一个括号不适合代码文本,我无法在不将整个代码文本弄得一团糟的情况下包含java.util.Scanner和public类,对此表示抱歉。将第二个if语句移出第一个if语句
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));
}
}
for(int index=0;index索引){
系统输出打印(merkkijono1.charAt(索引));
}
if(merkkijono2.length()>索引){
系统输出打印(merkkijono2.charAt(索引));
}
}
if语句似乎在错误的循环中。
在这里,我测试了它,它的工作
import java.util.Scanner;
public class Program1 {
public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);
System.out.print("Anna merkkijono: ");
String merkkijono1 = lukija.nextLine();
System.out.print("Anna toinen merkkijono: ");
String merkkijono2 = lukija.nextLine();
for (int i = 0; i < merkkijono1.length() || i < merkkijono2.length(); i++) {
if (merkkijono1.length() > i) {
System.out.print(merkkijono1.charAt(i));
}
if (merkkijono2.length() > i) {
System.out.print(merkkijono2.charAt(i));
}
}
}
}
import java.util.Scanner;
公共课程1{
公共静态void main(字符串[]args){
扫描仪lukija=新扫描仪(System.in);
系统输出打印(“Anna merkkijono:”);
字符串merkkijono1=lukija.nextLine();
系统输出打印(“Anna toinen merkkijono:”);
字符串merkkijono2=lukija.nextLine();
对于(int i=0;ii){
系统输出打印(merkkijono1.charAt(i));
}
if(merkkijono2.length()>i){
系统输出打印(merkkijono2.charAt(i));
}
}
}
}
if语句不需要嵌套这两个if语句。取消它们的测试,它会解决您的问题。