2017-02-24 2 views
-6

과제가 있습니다. 과제는 2 줄의 문자열을 요청하는 코드를 작성해야한다는 것입니다. 그리고 다른 하나를 수행해야합니다.Java StringBuffer는 아포스트로피를 인쇄 할 수 없습니다.

의미 : 첫 줄 : kusk - 두 번째 줄 : loope - 문제 : kluosokpe 하지만 이렇게 해보려하면 : 그건 내가 아니고 돈을 줄 수 있니?

문제는 오류 메시지입니다. 지금 내가 할 수있는 일은 무엇입니까?

내 코드 : 가져 오기 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

영어가 모국어가 아닌 것 같아서 원하는 것을 이해하는 데 어려움이 있습니다 ... 번역사를 시도해보십시오. 더 나은 결과를 얻을 수 있습니다. 사용자 입력에서 두 개의 문자열 (s1, s2)을 읽은 다음 결합하여 결합하여 s1 [0] s2 [0] s1 [1] s2 [1] ... 등등으로 하시겠습니까? 그렇다면 for 루프는 s1의 길이에서만 작동하며 s2가 s1보다 길면 후행 문자가 손실되고 s1이 s2보다 길면 예외가 발생합니다. –

+0

가능한 한 간단하게 답하십시오. 오류 재생산이 필요하지 않은 모든 부품을 제거하십시오. (이 작업을하는 동안 코드를 수정할 수 있습니다.) – betontalpfa

답변

3

톰,

문제는 하나 개의 문자열이 더 이상 다른 것보다 것입니다.

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

좋습니다! 감사합니다! –

관련 문제