Converter primeira letra em maiuscula [Resolvido]

17 respostas
A

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";

17 Respostas

R

tem que pegar a primeira letra e usar o metodo, acho que é uppercase…

vou verificar, e ver se faço algum código.

R
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();
        
   
}
    
}
A

Eu pensei que o java já tivesse algo pronto.

deve have algo com menos código.

R

hum, acho que não , hein?

mas não é tanto assim…

porque vc acha que tem coisa menor… ??? e para que?

A

É 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.

R
agora mais completo, aí com este estudo , da de fazer o metodo que recebe a string, entao para toda string, acontecerá isto...
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:

R
uma com metodo:
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:

R
agora fiz a obra-prima completa... o método funcionando perfeitamente, se não existia, agora existe... hihi 8)
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)
:lol: :shock: :roll:
P

Algebra:
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);
F

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

Y

Algebra:
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));

N

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();
	}
}
A

Flavio Almeida:
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.

R

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?

P

raghy:
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?

http://commons.apache.org/lang/download_lang.cgi

K
novato25:
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.

K

System.out.println(StringUtils.capitalize(“palavra”));

Result: Palavra

Criado 21 de outubro de 2010
Ultima resposta 27 de mar. de 2013
Respostas 17
Participantes 8