2017-02-07 27 views
2

このコードに問題があります。さもなければ、それはタイトルが言っているものを正確に行いますが、指定された文字列が "aa"と "bbbb"の場合、 "ababb"を出力します。短い文字列から文字が印刷された後、プログラムが停止したように見えます。ここでは、コードがあります:短い文字列から文字が印刷された後、2つの文字列から一度に1文字ずつ印刷を停止します。

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)); 
      } 
     } 
    } 
} 

}

だから、何とか私はそれが文字が短い文字列、任意のヒントから印刷する場合であっても継続するべき?

また、何らかの理由で括弧の1つがコードテキストに収まらず、コードテキスト全体が混乱することなくjava.util.Scannerとpublicクラスを含めることができませんでした。申し訳ありません。

+0

Theresは2つの 'if'ステートメントをネストする必要はありません。それらを解読し、あなたの問題を解決するはずです。 –

答えて

0

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)); 
      } 
     } 
    } 

} 
+0

これは、おかげでみんな働いた! – Smirre

+0

upvoteを忘れないでください!ありがとう! – zypa

1

2番目の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)); 
    } 
} 
+0

これは、おかげでみんな働いた! – Smirre

関連する問題