2014-09-11 2 views
0

저는 사용자가 구문을 생성하고 입력 한 다음 Java에서 코드를 작성하려고합니다. 거기에서 사용자 입력을 가져 와서 그들이 선택한 문구에서 X로 가져온 문자를 대체한다고 가정합니다. 이 방법을 만드는 방법을 완전히 알 수는 없지만 스캐너를 사용한다고 가정하고 새 문자열을 만들거나 변형 방법을 사용해야하는지 여부는 알 수 없습니다. 실행할 때 그것은 다음과 같이 할 생각이야 :Java에서 사용자가 구와 입력 할 문자를 바꿀 때 어떻게 문자를 바꿀 수 있습니까?

  • 구문 입력 : 피자가 좋은
  • 는 문자 입력 : Z를
  • Pixxa 좋은

나는 자바에 상당히 새로운 오전입니다

: 내가 지금까지 여기에

을 시도하는 것은 내 코드입니다

고맙습니다!

답변

2

이것은 단순히 String 메소드 replaceAll()을 사용하여 수행 할 수 있습니다. 아래 코드를 사용해보십시오.

import java.util.Scanner; 

public class ModifyStrings { 

    public static void main (String[] args) { 

     String enterPhrase; 
     String enterCharacter; 

     //Scanner 
     Scanner scan = new Scanner (System.in); 

     //Print out that the user will see and type in 
     System.out.println("Enter a phrase or sentence: "); 
       enterPhrase = scan.nextLine(); 

     //Second print out that the user will enter in for a character to change 
     System.out.println("Enter Character: "); 

     // This line of code firstly get the string truncate white spaces and then get the first character not all 
     enterCharacter = scan.nextLine().trim().substring(0, 1); 

     //Mutation code replace x with your desired character do you want to replaces 
     enterPhrase = enterPhrase.replaceAll(enterCharacter, "x"); 


     //Character changes that letter into x 
     System.out.println("New phrase: "+ enterPhrase); 
} 
} 
+0

정말 고마워요! 사용자가 만든 문구에 사용되지 않은 문자를 입력하면 오류 메시지를 포함하여 어떻게 처리할까요?
예를 들어,
을 J에 넣었고 J를 사용하지 않으면
"오류 : 문구에없는 문자"가 인쇄됩니다.
부울이 아니면 다른 유형의 인쇄물이 될까요? 너무 많이 물어셔서 죄송합니다. –

+0

@Not_a_bandwagoner 사용자로부터 입력 문자를 가져온 후 String의 contains ("") 메소드를 사용하고 부울을 반환하는 지정된 문자열에서 해당 문자를 확인합니다.이 솔루션의 코드 행을 확인하십시오. if (enterPhrase.contains (enterCharacter)) {\t \t // 변경 문자를 원하는 문자로 바꾸십시오. \t \t \t enterPhrase = enterPhrase.replaceAll (enterCharacter, "x"); \t \t \t // 해당 문자를 x 문자로 변경합니다. \t \t \t System.out.println ("New phrase :"+ enterPhrase); \t \t} else { \t // 원하는 오류 메시지를 인쇄하십시오. } –

관련 문제