2017-09-26 13 views
-4

を大文字に、ユーザから特定の単語を置き換えます。 ... マイコード配列にJava文字列と完全な質問である。ここ

import java.util.Scanner; 

import java.lang.StringBuilder; 

public class javaAPIString { 

    public static void main(String[]args) 
    { 
     String SentenceFromUser = ""; 
     String IndiWordFromUser = ""; 
    /// String upper = IndiWordFromUser.toUpperCase(); 
     //String[] words = SentenceFromUser.split("\\s+"); 

     char ans; 

      Scanner keyboard = new Scanner(System.in); 
      do 
      { 
       final StringBuilder result = new StringBuilder(SentenceFromUser.length()); 
       String[] words = SentenceFromUser.split("\\s"); 
       System.out.println("Enter a sentence :"); 
       SentenceFromUser = keyboard.nextLine(); 

       System.out.println("Enter a word : "); 
       IndiWordFromUser = keyboard.next(); 
     /// IndiWordFromUser = upper; 

       for(int i =0; i > words.length; i++) 
       { 
        if (i > 0){ 
         result.append(" "); 
         } 
         result.append(Character.toUpperCase(words[i].charAt(0))).append(
            words[i].substring(1)); 
       } 

     // System.out.println("The Output is : " + SentenceFromUser); 


       System.out.println("Do you want to enter another sentence and word ? If yes please type 'Y' or 'y'."); 
       ans = keyboard.next().charAt(0); 
      } 
      while ((ans == 'Y') || (ans == 'Y')); 
    } 
} 

私のコードの私の出力/問題: 入力してください文章: 私はクッキーが好きです 単語を入力してください: クッキー 出力は:私はクッキーが好きです 別の文章や単語を入力しますか?はいの場合は「Y」または「y」と入力してください。

すべてのCAPSを置換するために、2番目の入力の大文字に変更せずに同じ元の文を返します。

+1

質問がありましたか?おそらく、あなたの投稿に含めたいコードに誤りがありますか? – azurefrog

+2

あなたは割り当てを示しました - あなたのコードを示しました。問題の内容を教えて、コードに関する特定の質問をする必要があります。そのため – csmckelvey

+0

おかげで、私は私の出力に問題がある、それは原文を表示、例:文を入力します。 クッキー出力がある :私はあなたが入力したいか クッキーが好きな私はクッキーを好き して単語を入力します 別の文と言葉?はいの場合は「Y」または「y」と入力してください。 –

答えて

0

を読まれることはありません私は私の解決に役立つことを願っていますあなた! :)

import java.util.Scanner; 

public class Solution { 

    private static Scanner in = new Scanner(System.in); 

    public static void main(String[] args) { 
     getTextFromUser(); 
    } 

    private static void getTextFromUser() { 
     print("Enter Sentence Here: "); 
     String text = in.nextLine(); 

     print("\nDo you want to capitalize words in sentence? Y/N: "); 

     while (in.nextLine().equalsIgnoreCase("y")) { 
      print("Enter Word: "); 
      print("Modified Text: " + changeWord(text, in.nextLine())); 
      print("\n\nDo you want to capitalize words in sentence? Y/N"); 
     } 
    } 

    private static String changeWord(String text, String word) { 
     return text.replaceAll("\\b" + word + "\\b" /* \\b Means word 
     boundary */, word.toUpperCase()); // No validations done. 
    } 

    private static void print(String message) { 
     System.out.print(message); 
    } 

} 
+0

ありがとう@ Yaz33n、私は文字通り喜びの泣き声です。私は十分にあなたに感謝することはできません。あなたは私のヒーローです。私は、私の感謝を表明することはできません。 –

+0

_ようこそ:) – Yazeen

0

だけでいくつかのもの:

  1. 変数のためのJavaの命名規則を使用してくださいあなたはあなたのコードを実行する場合、この命令は空の文字列とユーザー入力が上書きされます
  2. 名前を付けます。

    IndiWordFromUser = upper;

  3. String[] words = SentenceFromUser.split("\\s"); ...あなたは空の文字列は初めてと古い文他の実行

  4. を分割している変数IndiWordFromUser

+0

よろしくお願いいたします。 –

関連する問題