2017-02-24 15 views
-6

私はタスクを持っています。タスクは、2行の文字列を要求するコードを書く必要があります。Java StringBufferはアポストロフィを印刷できません

第1行:kusk - 第2行:loope - 問題:kluosokpe しかし、私がこのように与えようとすれば、それは私ではなく、あなたに私にお金を与えることができますか?

問題はエラーメッセージです。私は今それで何をすることができますか?

マイコード: import java.util.Scanner;

public class Main { 


    public static void main(String[] args) { 
     Scanner sc = new Scanner(System.in); 
     String first = sc.nextLine(); 

     String second = sc.nextLine(); 

     StringBuilder builderem = new StringBuilder(" "); 
     for(int i = 0; i < first.length(); i++){ 
      builderem.append(first.charAt(i)); 
      builderem.append(second.charAt(i)); 
     } 
     String base = builderem.toString(); 
     System.out.println(base); 
    } 

} 

ありがとうございました!

+0

英語はあなたの母国語ではないようですが、私はあなたが欲しいものを理解するのに困っています...あなたは翻訳者を試して良い結果を得るかもしれません。ユーザー入力から2つの文字列(s1、s2)を読み込み、それらを結合して結合すると、s1 [0] s2 [0] s1 [1] s2 [1] ...というようになりますか?その場合、forループはs1の長さでのみ動作し、s2がs1よりも長い場合、末尾の文字は失われ、s1がs2よりも長い場合は例外が発生します。 –

+0

できるだけ簡単に答えを入れてください。エラーの再現を必要としないすべての部品を取り外します。 (これにより、コードを修正できる可能性があります) – betontalpfa

答えて

3

トム、

問題は、1つの文字列がもう1つの文字列よりも長いことです。

import java.util.Scanner; 

public class Main { 

public static void main(String[] args) { 
    Scanner sc = new Scanner(System.in); 
    String elso = sc.nextLine(); 

    String masodik = sc.nextLine(); 

    String longestString = elso; 
    String shortestString = masodik; 
    if (shortestString.length() > longestString.length()){ 
    shortestString = elso; 
    longestString = masodik; 
    } 
    StringBuilder builderem = new StringBuilder(" "); 
    for(int i = 0; i < shortestString.length(); i++){ 
     builderem.append(shortestString.charAt(i)); 
     builderem.append(longestString.charAt(i)); 
    } 
    for(int i = shortestString.length(); i < longestString.length(); i++){ 
     builderem.append(longestString.charAt(i)); 
    } 
    String alapba = builderem.toString(); 
    System.out.println(alapba); 
} 
} 

動作している場合はお知らせください。

+0

それは良いです!ありがとう! –

関連する問題