2017-09-26 78 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')); 
    } 
} 

我的代碼我的輸出/問題: 輸入句子: 我喜歡cookies 輸入一個字詞: cookies 輸出結果是:我喜歡cookies 你想輸入另一句話嗎?如果是,請輸入'Y'或'y'。

它返回相同的原始句子而不更改爲第二個輸入的大寫字符以替換爲所有CAPS。

+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

好的,謝謝,我會嘗試。 –

相關問題