95 Stimmen

Wie wird jeder erste Buchstabe eines Wortes in einer Zeichenkette großgeschrieben?

Ich habe eine Zeichenkette: "hello good old world" und ich möchte jeden Anfangsbuchstaben eines jeden Wortes großschreiben, nicht den ganzen String mit .toUpperCase(). Gibt es eine vorhandene Java-Hilfe, die diese Aufgabe erfüllt?

2voto

import java.util.Scanner;
public class CapitolizeOneString {

    public static void main(String[] args)
    {
        Scanner  scan = new Scanner(System.in);
        System.out.print(" Please enter Your word      = ");
        String str=scan.nextLine();

        printCapitalized( str );
    }  // end main()

    static void printCapitalized( String str ) {
        // Print a copy of str to standard output, with the
        // first letter of each word in upper case.
        char ch;       // One of the characters in str.
        char prevCh;   // The character that comes before ch in the string.
        int i;         // A position in str, from 0 to str.length()-1.
        prevCh = '.';  // Prime the loop with any non-letter character.
        for ( i = 0;  i < str.length();  i++ ) {
            ch = str.charAt(i);
            if ( Character.isLetter(ch)  &&  ! Character.isLetter(prevCh) )
                System.out.print( Character.toUpperCase(ch) );
            else
                System.out.print( ch );
            prevCh = ch;  // prevCh for next iteration is ch.
        }
        System.out.println();
    }   
}  // end class

2voto

Nitu Kumari Punkte 21
public class WordChangeInCapital{

   public static void main(String[]  args)
   {
      String s="this is string example";
      System.out.println(s);
      //this is input data.
      //this example for a string where each word must be started in capital letter
      StringBuffer sb=new StringBuffer(s);
      int i=0;
      do{
        b.replace(i,i+1,sb.substring(i,i+1).toUpperCase());
        i=b.indexOf(" ",i)+1;
      } while(i>0 && i<sb.length());
      System.out.println(sb.length());
   }

}

2voto

nagaraju Punkte 31
package com.raj.samplestring;

/**
 * @author gnagara
 */
public class SampleString {

    /**
     * @param args
     */
    public static void main(String[] args) {
       String[] stringArray;
       String givenString = "ramu is Arr Good boy";

       stringArray = givenString.split(" ");

       for(int i=0; i<stringArray.length;i++){
           if(!Character.isUpperCase(stringArray[i].charAt(0))){
               Character c = stringArray[i].charAt(0);
               Character change = Character.toUpperCase(c);

               StringBuffer ss = new StringBuffer(stringArray[i]);
               ss.insert(0, change);
               ss.deleteCharAt(1);
               stringArray[i]= ss.toString();
           }
       }
       for(String e:stringArray){
           System.out.println(e);
      }
    }
}

2voto

Gena Olegovich Punkte 83

Hier ist eine einfache Lösung:

public class CapitalFirstLetters {

 public static void main(String[] args) {
    String word = "it's java, baby!";
    String[] wordSplit;
    String wordCapital = "";
    wordSplit = word.split(" ");
    for (int i = 0; i < wordSplit.length; i++) {
        wordCapital = wordSplit[i].substring(0, 1).toUpperCase() + wordSplit[i].substring(1) + " ";
    }
    System.out.println(wordCapital);
 }}

1voto

Arun Punkte 19
public String UpperCaseWords(String line)
{
    line = line.trim().toLowerCase();
    String data[] = line.split("\\s");
    line = "";
    for(int i =0;i< data.length;i++)
    {
        if(data[i].length()>1)
            line = line + data[i].substring(0,1).toUpperCase()+data[i].substring(1)+" ";
        else
            line = line + data[i].toUpperCase();
    }
    return line.trim();
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X