# Erstes Zeichen in einem String toUpperCase ???



## bygones (30. Okt 2003)

Hi,

wie kann ich in einem String, den ich per Eingabe erhalte automatisch den ersten Buchstaben groß setzen ???

Also ein toUpperCase() nur für den ersten letter ??

DANKE


----------



## hew (30. Okt 2003)

z.B.:


```
public static String toUpperFirst(String convert)
{ 
StringBuffer sb = new StringBuffer(convert.substring(0, 1).toUpperCase());
return sb.append(convert.substring(1)).toString();
}
```
 :wink:


----------



## Ebenius (20. Nov 2003)

Etwas schneller und speicherfreundlicher (da dann StringBuffer nicht zweimal Arrays anlegt) und sicherer, (da ja der String auch leer sein könnte)


```
public static String toCapital(String s)
{
	if(s == null || s.length() < 1)
		return s;

	StringBuffer sb = new StringBuffer(s);
	sb.setCharAt(0, Character.toUpperCase(s.charAt(0)));
	return sb.toString();
}
```

Ebenius


----------



## Guest (24. Okt 2007)

```
public class Grossschreiber
{
    private Eingabeleser konsole;
    private String [] zahlen;
    private int anzahl;
    
    public Grossschreiber()
    {
        konsole = new Eingabeleser();
    }
    
    public void ZahlenEingeben()
    {
        anzahl = konsole.readInt("Wie viel Wörter sollen eingelesen werden?");
        System.out.println();
        zahlen = new String [anzahl];                                           
        for(int i = 0; i < anzahl; i++)                                    
        {
            System.out.println("Bitte " + (i + 1) + ". Wort eingeben:");
            zahlen[i] = konsole.readString(); 
        } 
    }
    
    public static String toCapital(String s) 
    { 
        if(s == null || s.length() < 1) 
        return s; 

        StringBuffer sb = new StringBuffer(s); 
        sb.setCharAt(0, Character.toUpperCase(s.charAt(0))); 
        return sb.toString(); 
    }
}
```

konsole (eingabeleser) ist nur eine klasse die den variablen (attributen) werte zuweisst in form eines interfaces
2. wir lernen java mit blueJ, also nicht über die form wundern, habe einiges ausprobiert, wie ich jetzt das auf das String anwenden kann, habe aber keien lösung gefunden.

wie lasse ich jetzt das so überspeichern beim array?

danke
itsme


----------



## Gast (25. Okt 2007)

Ich verstehe dein Problem nicht ganz. Du kannst die toCapital- Methode problemlos auf jedes Einzelelement des Arrays anwenden, der Rückgabewert ist dann der String mit Großbuchstabe am Anfang. Was meinst du mit überschreiben? 

Ansonsten: Für dein Problem hätte vermutlich die Information, dass du die Strings in einem Array hast, gereicht. Das die aus der Konsole kommen, ist irrelevant. Folglich hättest du nicht eine halbe Seite Code posten müssen, sondern es hätte ein Satz gerreicht. Bei kürzeren Postings ist die Wahrscheinlichkeit eine Antwort zu erhalten größer, weil nur die wenigsten Lust haben, sich durch ellenlange Text/Codeabschnitte zu lesen, bevor sie antworten.


----------

