TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Codigo de comversão

Por:   •  5/10/2015  •  Trabalho acadêmico  •  701 Palavras (3 Páginas)  •  211 Visualizações

Página 1 de 3

import java.util.Scanner;

import java.util.Stack;

public class InfixPostfix4 {

public static void main(String[] args) {

//Entrada de datos

System.out.println("*Escreva uma expressão algébrica: ");

Scanner leer = new Scanner(System.in);

//Depurar a expressão algebrica

String expr = depurar(leer.nextLine());

String[] arrayInfix = expr.split(" ");

//Declaração de pilhas

Stack < String > E = new Stack < > (); //Pilha entrada

Stack < String > P = new Stack < > (); //Pilha temporal para operadores

Stack < String > S = new Stack < > (); //Pilha saída

//Analisar array Pilha de entrada (E)

for (int i = arrayInfix.length - 1; i >= 0; i--) {

E.push(arrayInfix[i]);

}

try {

//Algoritmo Infixo para Posfixo

while (!E.isEmpty()) {

switch (pref(E.peek())){

case 1:

P.push(E.pop());

break;

case 3:

case 4:

while(pref(P.peek()) >= pref(E.peek())) {

S.push(P.pop());

}

P.push(E.pop());

break;

case 2:

while(!P.peek().equals("(")) {

S.push(P.pop());

}

P.pop();

E.pop();

break;

default:

S.push(E.pop());

}

}

//Eliminações de impurezas das expreções algebricas

String infix = expr.replace(" ", "");

String postfix = S.toString().replaceAll("[\\]\\[,]", "");

//Mostrar resultados:

System.out.println("Expressão Infixa: " + infix);

...

Baixar como (para membros premium)  txt (2.6 Kb)   pdf (42.6 Kb)   docx (12 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com