Jump to content
Draakar

Converter o primeiro caracter de uma string para Upper Case

Recommended Posts

Draakar

Bom dia,

Gostava de converter o primeiro caracter de uma string para upper case mas não estou a conseguir.. alguma ajuda?

Obrigado,

Pedro Dias

Share this post


Link to post
Share on other sites
tobias

Boas,

Fazeres sub-string, e depois a função upercase na primeira e voltar a juntar não da?

[Edit]

substring = palavra.substring(1, 2);

substring = substring .toUpperCase();

palavra = substring + palavra.substring(2);

obs: nunca estudei java...

[/Edit]

cumps.


Cumprimentos,Tobias Cintrão


"O que se pensa começa no que se ouve"
"Inspiração == Interrupção momentânea da estupidez"

Share this post


Link to post
Share on other sites
Baderous

Para passar um caracter de minúsculo para maiúsculo, basta adicionar-lhe o valor ASCII do caracter 'A' e subtrair o valor ASCII do caracter 'a':

char c ='n';
char x = (char) (c + (int)'A' - (int)'a');

Como as strings em Java são imutáveis, vais ter de criar uma nova string com a 1ª letra alterada, não dá para alterar a string inicial.

Share this post


Link to post
Share on other sites
KTachyon

tobias, quase lá. A indexação começa no zero:

s = s.substring(0, 1).toUpperCase() + s.substring(1);

Mas foi uma boa tentativa, para quem "nunca estudou java" :)


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
tobias

Pois, não me lembrei que muitas linguagens começam a indexação a partir do 0. :thumbsup:

obrigado pela correcção :)

Cumps.


Cumprimentos,Tobias Cintrão


"O que se pensa começa no que se ouve"
"Inspiração == Interrupção momentânea da estupidez"

Share this post


Link to post
Share on other sites
rikardo.1989

Exemplo :

String line = "abcdefg";

line =  Character.toUpperCase(line.charAt(0)) + line.substring(1, line.length());

como já foi dito acima as Strings são imutaveis, tens que trabalhar com substrings, no exemplo acima faço a concatenação do character 'A' com a substring que contem as restantes letras da String sobre a qual queres trabalhar.

Cumprimentos :)


Cumps,rikardo.1989

Share this post


Link to post
Share on other sites
Draakar

Muito obrigado pessoal,

Falei com o professor e ele fez-me chegar a esta conclusão (junto com as vossas sugestões).

private String firstCharUp(String name){
        return name.replace(name.charAt(0), (char)Character.toUpperCase(name.charAt(0)));
}

Share this post


Link to post
Share on other sites
KTachyon

Err... e se a tua string for "ana", vais ficar com "AnA", porque estás a fazer replace de todas as ocorrências de 'a' por 'A'.

public String replace(char oldChar,

                      char newChar)

Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
Draakar

Eish tenho de pensar numa maneira então de trocar isto, não posso entregar o projecto com esse bug obrigadão!

Share this post


Link to post
Share on other sites
KTachyon

Tens, pelo menos, 3 sugestões que fazem exactamente o que pretendes :P


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
tobias

Boas,

Não me cabe a mim dizer isto, mas não querendo ser muito chato  :D põe isso como resolvido, para facilitar a vida a utilizadores com a mesma duvida/que querem ajudar, identificarem, se está ou não resolvido logo à partida.

;)

Cumps.

Tobias Cintrão


Cumprimentos,Tobias Cintrão


"O que se pensa começa no que se ouve"
"Inspiração == Interrupção momentânea da estupidez"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.