Gostaria de ajuda para converter o codigo a seguir de JoptionPaine para Println (linha de comando)
import javax.swing.*;
public class ExpresaoMath {
public static void main(String[] args) {
Expressao pilha = new Expressao(6);
String expr = JOptionPane.showInputDialog("Digite uma expressão algébrica no formato {[()]}");
for (int i = 0; i <= expr.length() - 1; i++) {
if (pilha.getDelimitador(expr.charAt(i))) {
pilha.empilha(expr.charAt(i));
}
}
String aux = pilha.retornaFormato();
if (aux.equals("{[()]}")) {
System.out.println("Expressão Correta");
} else {
System.out.println("Expressão Incorreta");
}
}
}
class Expressao {
protected String elementos[];
private int topo;
protected char[] delimitadores = {'{', '[', '(', ')', ']', '}'};
public Expressao(int tamanho) {
topo = -1;
elementos = new String[tamanho];
}
public void empilha(char x) {
topo++;
elementos[topo] = String.valueOf(x);
}
public void desempilha() {
topo--;
}
public String elementoTopo() {
return elementos[topo].toString();
}
public boolean pilhaCheia() {
return (topo == elementos.length - 1);
}
public boolean listaVazia() {
return (topo == -1);
}
public boolean getDelimitador(char valor) {
boolean ok = false;
for (int i = 0; i <= delimitadores.length - 1; i++) {
ok = delimitadores[i] == valor ? true : false;
if (ok) {
break;
}
}
return ok;
}
public String retornaFormato(){
String formato = "";
for (int i = 0; i <= elementos.length-1; i++) {
formato += elementos[i];
}
return formato;
}
}