Espaço em String

2 respostas
dioni_deivid_dors

queria identificar se uma frase tem espaços
por exemplo : isso e um teste
ou seja queria fazer um programa para falar : isso (4) e(1) um(2) teste(5)
mas acho que meu while está em loop infinito…

public int tamanhoPalavra(){
        int tamnaho= frase.length();
        return tamnaho;
    }
    
    public String verificaPalavra(){
        String result="";
        String aux="";
        int auxili;
        int quantidadeCaracter=0;
        
        
        for(int i=1;i<=tamanhoPalavra();i++){
            
            while(frase.charAt(i)!=' '){
                aux+= frase.charAt(i);
                
            }
            if(frase.charAt(i)==' '){
                result+=aux+" ";
                result+=aux.length();
                result+="\n";
            }
            
        }//for
        
        return result;
    }

2 Respostas

V

public class ChecarEspacoNaFrase { String frase = "Oi, meu nome é Goku!"; int nEspacos = 0; public void contarEspacos(){ for(int i = 0; i < frase.length(); i++){ if(frase.charAt(i) == ' '){ nEspacos++; } } System.out.println("A frase: \"" + frase + "\""); System.out.println("tem " + nEspacos + " espaços"); } public static void main(String arg[]){ ChecarEspacoNaFrase c = new ChecarEspacoNaFrase(); c.contarEspacos(); } }

Nome da classe muito grande KKkkkkk
Testei aqui e funcionou.

A

Assim também da para Fazer…

public static void main(String[] args){
   String frase = "Oi, meu nome é Goku!";       
   System.out.println("Essa frase contém " + ((frase.split(" ").length) - 1) + " espaços");       
}

ou …

public static void main(String[] args){
    String frase = "  Oi, meu nome é Goku e sou o mais forte!     "; 
    int fr = (frase.trim().split(" ").length) - 1; //Espaços entre as Palavras
    int espEsq = ((frase.split(" ").length) - 1) - fr; //Espaços a Esquerda
    int espDir = ((new StringBuilder(frase).reverse().toString().split(" ").length) - 1) - fr; //Espaços a Direita     
    System.out.println("Espaços a Esquerda: " + espEsq);            
    System.out.println("Espaços a Direita: " + espDir);              
    System.out.println("Espaços entre as Palavras: " + fr);              
    System.out.println("Total de Espaços: " + (fr + espDir + espEsq)); //Total de Espaços             
 }
Criado 17 de agosto de 2013
Ultima resposta 17 de ago. de 2013
Respostas 2
Participantes 3