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());
}
}
}
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());
}
}
}
Vlw mais realmente não consigo implementar isso no programa sera q alguem poderia me ajudar?
Acho que pode te ajudar: dfm.ffclrp.usp.br/~evandro/aedII/aulas/folder_s02_a1.pdf
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())>-1){
if(i==10 || pilhaTexto.cheia()){
break;
}else{
if(i==32){
if(c>=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;
}
}