alguem conhece algum método bem simples para transformar a primeira letra de uma string em maiúsculas?
variavél
String s = "silva";
saida desejada
String saida = "Silva";
alguem conhece algum método bem simples para transformar a primeira letra de uma string em maiúsculas?
variavél
String s = "silva";
saida desejada
String saida = "Silva";
tem que pegar a primeira letra e usar o metodo, acho que é uppercase…
vou verificar, e ver se faço algum código.
public class Maiuscula {
public String silva="silva";
public String posicao="";
public Maiuscula() {
posicao= ""+silva.charAt(0);
String pos=posicao.toUpperCase();
System.out.println("posicao"+posicao);
System.out.println("posicao"+pos);
}
public static void main(String[]args) {
new Maiuscula();
}
}
Eu pensei que o java já tivesse algo pronto.
deve have algo com menos código.
hum, acho que não , hein?
mas não é tanto assim…
porque vc acha que tem coisa menor… ??? e para que?
É que tem classes prontas para trabalhar com String e isso é algo bem simples para se pensar pensei que já estivesse encapsulado em algum método.
Mas beleza.
Vlw pela força.
public class Maiuscula {
public String silva="silva";
public String posicao="";
String mais="";
public Maiuscula() {
posicao= ""+silva.charAt(0);
String pos=posicao.toUpperCase();
String tudo=pos;
int tamanho=silva.length();
for(int i=1;i<silva.length();i++){
mais=mais+silva.charAt(i);
}
tudo=pos+mais;
System.out.println("posicao:"+posicao);
System.out.println("posicao:"+pos);
System.out.println("tamanho:"+tamanho);
System.out.println("tudo:"+tudo);
}
public static void main(String[]args) {
new Maiuscula();
}
}
aí criado o método, é só usar e será como se fosse bem pequeno, como vc falou...
ok? :roll:
public class Maiuscula {
public String silva="silva";
public String posicao="";
String mais="";
public Maiuscula() {
}
public Maiuscula(String silva) {
posicao= ""+silva.charAt(0);
String pos=posicao.toUpperCase();
String tudo=pos;
int tamanho=silva.length();
for(int i=1;i<silva.length();i++){
mais=mais+silva.charAt(i);
}
tudo=pos+mais;
System.out.println("tudo:"+tudo);
}
public static void main(String[]args) {
new Maiuscula("raghy");
new Maiuscula("alfredo");
}
}
aí talvez o ideal seja, separar por espaço, uma nova maiuscula. :shock: :roll:
public class Maiuscula {
String silva="";
String posicao="";
String mais="";
String tudo="";
String maiuscula2="";
public Maiuscula() {
}
public Maiuscula(String silva) {
posicao=""+silva.charAt(0);//pega a primeira letra que sera maiuscula
String pos=posicao.toUpperCase(); //transforma em maiuscula
int tamanho=silva.length();//ve o tamanho da frase
for(int i=1;i<silva.length();i++){ //coloca o for de acordo com o tamanho
mais=mais+silva.charAt(i); //acrescenta as letras
if( silva.charAt(i) == ' '){ //se houver um espaço a próxima vai ser transformada em maisucula.
String maiuscula=""+silva.charAt(i+1);//pega a próxima apos o espaço
maiuscula2=maiuscula.toUpperCase(); //transforma em maiuscula.
mais=mais+maiuscula2;//acrescenta a maiuscula a palavra completa, que se chama mais
i=i+1; //soma um, pois uma letra minuscula foi substituida e ja foi acrescentada
} } tudo=pos+mais;
System.out.println("tudo:"+tudo);
}
public static void main(String[]args) {
new Maiuscula("raghy");
new Maiuscula("alfredo");
new Maiuscula("raghy jose sobierajski rebelo");
new Maiuscula("Agora posso escrever frases enormes em minusculas que serao passadas a primeira letra para maisucula");
}
}
run-single:
tudo:Raghy
tudo:Alfredo
tudo:Raghy Jose Sobierajski Rebelo
tudo:Agora Posso Escrever Frases Enormes Em Minusculas Que Serao Passadas A Primeira Letra Para Maisucula
EXECUTADO COM SUCESSO (tempo total: 2 segundos)
alguem conhece algum método bem simples para transformar a primeira letra de uma string em maiúsculas?variavél
String s = "silva";saida desejada
String saida = "Silva";
saida = s.substring(0,1).toUpperCase() + s.substring(1);
Uma opção é utilizar o apache commons language.
http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/WordUtils.html
WordUtils.capitalize(“joão de souza”) = “João De Souza”
Abraço
alguem conhece algum método bem simples para transformar a primeira letra de uma string em maiúsculas?variavél
String s = "silva";saida desejada
String saida = "Silva";
E ai Algebra blz… faça algo como:
//a String de Entrada
String teste = “silva” ;
//pega a posição da primeira letra da String
String saida1 = teste.substring(0, 1).toUpperCase();
//pega a posição das outras letras após a primeira
String saida2 = teste.substring(1);
// concatena tudo isso e mostra a saida
System.out.println("#################################" + saida1.concat(saida2));
Implementei esta. Testa aí…
public class Maiuscula {
public static void main(String[] args) {
String nome = "Agora posso escrever frases enormes em minusculas que serao passadas a primeira letra para maiuscula";
System.out.println(iniMaiuscula(nome));
}
public static String iniMaiuscula(String value) {
String result = "";
String[] nomes = value.split(" ");
for(String palavra : nomes){
result = result + " " + palavra.replaceFirst(palavra.substring(0, 1), palavra.substring(0, 1).toUpperCase());
}
return result.trim();
}
}
Uma opção é utilizar o apache commons language.http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/WordUtils.html
WordUtils.capitalize(“joão de souza”)= “João De Souza”Abraço
Era isso que eu estava me referindo, o algoritmo é facil pensar, eu gostaria de saber se existia alguma classe que faz isso que o Flavio citou acima.
Obrigado pessoal.
interessante este método, do flavio,
mas aqui nao funcionou…
C:\Documents and Settings\raghyjose\Testes2\src\testes2\Maiuscula.java:53: cannot find symbol
symbol : variable WordUtils
location: class testes2.Maiuscula
WordUtils.capitalize("joão de souza") = "João De Souza";
1 error
FALHA NA EXECUÇÃO (tempo total: 2 segundos)
o que falta?
interessante este método, do flavio,mas aqui nao funcionou…
C:\Documents and Settings\raghyjose\Testes2\src\testes2\Maiuscula.java:53: cannot find symbol symbol : variable WordUtils location: class testes2.Maiuscula WordUtils.capitalize("joão de souza") = "João De Souza"; 1 error FALHA NA EXECUÇÃO (tempo total: 2 segundos)o que falta?
Implementei esta. Testa aí...public class Maiuscula { public static void main(String[] args) { String nome = "Agora posso escrever frases enormes em minusculas que serao passadas a primeira letra para maiuscula"; System.out.println(iniMaiuscula(nome)); } public static String iniMaiuscula(String value) { String result = ""; String[] nomes = value.split(" "); for(String palavra : nomes){ result = result + " " + palavra.replaceFirst(palavra.substring(0, 1), palavra.substring(0, 1).toUpperCase()); } return result.trim(); } }
novato25, seu método pode ser substituído pelo WordUtils.capitalize do commons language do Apache. A idéia é fazer com que ele possa excluir as preposições.
System.out.println(StringUtils.capitalize(“palavra”));
Result: Palavra