import java.util.Scanner;
public class Tester {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
char c = 'x';
Queue q1 = new Queue();
Stack s1 = new Stack();
s1.push('#');
Queue q2 = new Queue();
q1.enqueue('#');
while (c != '#') {
System.out.println("Enter a character: ");
c = input.next().charAt(0);
q1.enqueue(c);
}
while (c != '#') {
c = (char) q1.dequeue();
if (!operator(c)) {
q2.enqueue(c);
}
}
q1.print(q1);
System.out.println();
q2.print(q2);
}
public static boolean operator(char c) {
char op = 'x';
boolean isOperator;
switch (op) {
case '*':
case '/':
case '^':
case '+':
case '-':
isOperator = true;
break;
default:
isOperator = false;
break;
}
return isOperator;
}
}
Цель этого заключается в том, чтобы я ввести некоторые символы в очереди q1, то в то время как характер ISN 't a #, он должен деинсталлироваться из q1, пока символ не является оператором и помещает его в q2. Однако ни один из моих операторов из q1 не выгружается и не ставится в очередь на q2, что должно происходить из строк 20-23.Не удается из очереди операторов из одной очереди в другую, проверяя, если символ является оператором через булевой метод, который использует переключатель
Я не думаю, что помогает, так как я епдиеие # в начале кода. – tbadam
Вы пробовали? Вы проверяете 'c' не q1 в условии! – granmirupa
Да, он все еще печатает результат, и все это остается в q1. – tbadam