2016-09-16 3 views
0

안녕하세요 내 작업은 스와핑 및 변경 스크립트

는 말 첫 번째와 마지막 단어를 교환하고 첫 번째 단어의 첫 글자를 대문자로하는 것입니다 내가 입력

1 2 3 4

내 출력 로 밝혀

fourTwo 세 fourone

는 여기에 내가 너무 쉽게주십시오 초보자입니다 내 코드 입니다

import java.util.Scanner; 
public class tryNumber2 { 

    public static void main(String[] args) 

    { 
     Scanner keyboard = new Scanner(System.in); 
     System.out.println("Enter any line with no punctuation"); 
     String line = keyboard.nextLine(); 
     System.out.println(line); 

     // First word to the end and capitalize. 
     { 
      int spacePosition = line.indexOf(" "); 
      String FirstWord = line.substring(0, spacePosition).trim(); 
      String MiddleOfSentence = line.substring(spacePosition, line.length()).trim(); 
      String FirstChar = MiddleOfSentence.substring(0, 1); 
      FirstChar = FirstChar.toUpperCase(); 
      MiddleOfSentence = FirstChar + MiddleOfSentence.substring(1, MiddleOfSentence.length()); 
      String LastWord = line.substring(line.lastIndexOf(' ') + 1); 
      System.out.println(LastWord + MiddleOfSentence + FirstWord); 
      keyboard.close(); 
     } 
    } 
} 

내가 뭔가를 잊고있는 경우 내 오류가 어디 있는지 모르거나하지 않습니다 ..

답변

0

을이

public static void main(String[] args) { 
    Scanner keyboard = new Scanner(System.in); 
    System.out.println("Enter any line with no punctuation"); 
    //trim() removes all leading and trailing whitespaces in Java. This will be useful for 
    //the check we will perform next 
    String line = keyboard.nextLine().trim(); 
    int firstWordPos = line.indexOf(" "); 
    String firstWord = line.substring(0,firstWordPos); 

    int lastWordPos = line.lastIndexOf(" "); 

    if (lastWordPos < 0) 
    { 
     System.out.println(line); 
    } 

    else if(firstWordPos != lastWordPos) { 
     String lastWord = String.valueOf(line.charAt(lastWordPos + 1)).toUpperCase() + 
       line.substring(lastWordPos + 2); 

     String outputString = lastWord + " " + line.substring(firstWordPos+1, lastWordPos) + " " + firstWord; 
     System.out.println(outputString); 
    } 
    else { 
     String lastWord = String.valueOf(line.charAt(lastWordPos + 1)).toUpperCase() + 
       line.substring(lastWordPos + 2); 

     String outputString = lastWord + " " + line.substring(0, lastWordPos); 
     System.out.println(outputString); 
    } 
    keyboard.close(); 
} 
시도

}

+0

Kinda는 작동하지만 첫 단어와 마지막 단어를 바꿔 쓰지 않습니다. – Beginner

+0

오, 죄송합니다. 마지막 단어를 추가하고 대문자로 입력해야한다고 생각했습니다. 나는 당신의 질문을 잘못 읽었다. OP에서 제 코드를 수정했습니다! – jmc