Pelo amor de deus preciso de ajuda

5 respostas
K

Pelo amor de deus preciso de ajuda
Galera venho supricar a vc´s se alguem pode me ajudar com esse programa eu agradeceria muito pois preciso entregar ele até 03/12/06 14:00hrs se naum pego dp na facul já tentei de tudo quanto e geito fazer esse programa funcionar tipo ele ta funcionando mais o que acontece e que preciso mundar a parte de inverte o nome em pilha mais não consigo fazer isso e não sei fazer e tenho pouco tempo se alguem poder fazer eu ficaria muito grato acho q isso e muito facil para vc´s quando mostrei pra ele esse programa ele disse que precisava implementou a estrutura pilha…

public class Trabalho {

private static String Reverter(StringBuffer texto)

{

return texto.reverse().toString();

}
public static void main(String[] args) {

try{

StringBuffer texto = new StringBuffer();

//

System.out.print(Digite o Nome: );

//

int c=0;

int i=0;

while((i=System.in.read())>-1){

if(i==10){

break;

}else{

if(i==32){

if(c>=2){

c=0;

texto.append((char)i);

}

}else{

c++;

texto.append((char)i);

}

}

}

//

String nome = texto.toString().trim();

String nomeRev = Reverter(texto);

int tamanho = nome.length();

int palavra = nome.split( ).length;

//

System.out.println(---------------------------------\n);

System.out.println("Nome: "+nome);

System.out.println("Numero de caracteres: "+tamanho);

System.out.println("Numero de palavras: "+palavra);

System.out.println("Resultado final: ");

System.out.println(nomeRev);

}catch(Exception exc){

System.out.println(exc.getMessage());

}

}

}

5 Respostas

K

o q ele pediu foi isso aki…
Utilizando a estruturada de dados abstrada do tipo PILHA, fazr um programa em que o usuário informe seu nome completo, separado por espaços.O programa deverá exibir o nome com as palavras invertidas e cada uma das letras, de cada palavra, invertidas. O programa deverá também apresentar o quantos caracteres existem em toda string e o total de palavras EX:

Nome: Jose Maria da Silva
Resultado Final: avliS ad airaM esoJ
Número de caracteres: 19
Númro de palavras: 4

O programa deverá fazer uma verificação para que cada palavra tenha pelo menos 2 caracteres.

Um amigo me ajudou a fazer esse mais o professor disse a mesma coisa Não implementou a estrutura pilha realmentei não sei fazer isso … o programa foi esse e ta funcionando aki e o meu ultimo recurso se não pego dp direto sem choro…

import java.util.Stack;

public class Trabalho {

private static Stack pilha;

private static String Reverter(StringBuffer texto)

{

pilha = new Stack();

for (int i = 0; i < texto.length();i++) {

pilha.push(Character.valueOf(texto.charAt(i)));

}

StringBuilder resultado = new StringBuilder();

for (int i = 0; i < texto.length(); i++) {

Character letra = (Character)pilha.pop();

resultado.append(letra);

}

return resultado.toString();

}
public static void main(String[] args) {

try{

StringBuffer texto = new StringBuffer();

//

System.out.print(Digite o Nome: );

//

int c=0;

int i=0;

while((i=System.in.read())>-1){

if(i==10){

break;

}else{

if(i==32){

if(c>=2){

c=0;

texto.append((char)i);

}

}else{

c++;

texto.append((char)i);

}

}

}

//

String nome = texto.toString().trim();

String nomeRev = Reverter(texto);

int tamanho = nome.length();

int palavra = nome.split( ).length;

//

System.out.println(---------------------------------\n);

System.out.println("Nome: "+nome);

System.out.println("Numero de caracteres: "+tamanho);

System.out.println("Numero de palavras: "+palavra);

System.out.println("Resultado final: ");

System.out.println(nomeRev);

}catch(Exception exc){

System.out.println(exc.getMessage());

}

}

}
FieroddPJ

ele quer que vc implemente uma pilha, então:
Pilha: http://pt.wikipedia.org/wiki/Pilha_(estrutura_de_dados)

K

Vlw mais realmente não consigo implementar isso no programa sera q alguem poderia me ajudar?

R

Acho que pode te ajudar: dfm.ffclrp.usp.br/~evandro/aedII/aulas/folder_s02_a1.pdf

K

Galera da una olhada como ficou o programa ele tah rodando legal só me confirmem se esta realmente inplementada a pilha só por encargos de consciencia…

public class Trabalho {

public static void main(String[] args) {
    try{            
        Pilha pilhaTexto = new Pilha(30);
        //
        System.out.print("Digite o Nome: ");
        //
        int c=0;            
        int i=0;            
        while((i=System.in.read())&gt;-1){
            if(i==10 || pilhaTexto.cheia()){
                break;
            }else{
                if(i==32){
                    if(c&gt;=2){
                        c=0;
                        pilhaTexto.inserir((char)i);
                    }                        
                }else{
                    c++;
                    pilhaTexto.inserir((char)i);
                }
            }
        }
        //
        int tamanho = pilhaTexto.tamanho();
        Pilha pilhaRev = new Pilha(tamanho);
        //            
        char[] lNome = new char[tamanho];
        int x=0;
        while(!pilhaTexto.vazia()) {
           lNome[x] = pilhaTexto.remover();
           pilhaRev.inserir(lNome[x]);
           x++;
        }
        //
        String nomeRev = new String(lNome);
        //            
        x=0;
        while(!pilhaRev.vazia()) {
           lNome[x] = pilhaRev.remover();               
           x++;
        }
        //
        String nome = new String(lNome);            
        int palavra = nome.split(" ").length;
        //
        System.out.println("---------------------------------\n");
        System.out.println("Nome: "+nome);            
        System.out.println("Numero de caracteres: "+tamanho);
        System.out.println("Numero de palavras: "+palavra);
        System.out.println("Resultado final: ");
        System.out.println(nomeRev);
    }catch(Exception exc){
        System.out.println(exc.getMessage());
    }        
}

}

class Pilha {

private int topo ;
private char [] dados ;

public Pilha (int tam) { 
    topo = 0;
    dados = new char [tam] ;
}

public boolean vazia () { 
    return (topo == 0) ;
}

public boolean cheia () { 
    return ( topo == dados.length ) ;
}

public void inserir(char c) { 
    dados [topo++] = c;
}

public char remover () { 
    return dados[--topo];
}   
    
public int tamanho(){
    return topo;
}

}

Criado 2 de dezembro de 2006
Ultima resposta 3 de dez. de 2006
Respostas 5
Participantes 3