Здравствуйте. java изучаю совсем неадавно, поэтому извиняюсь за странный вопрос, задаётся ,например, выражение 1+2/3 (2/3 — дробь), разбивается на лексемы 1,+,2,/,3 и записывается в "lexems". В функции calculate пытаюсь сделать так: если встретится / — записать в "lexems", потом получить цифру перед / и после, чтобы затем собрать дробь (2 = a, 3 = b --> Fraction y = new Fraction (a, b), где Fraction — класс дробей.) Всё, конечно, не работает. ПОдскажите, пожалуйста, как это реализовать.
static List<String> lexems = new LinkedList<>();
...
if (str.charAt(i) == '/') lexems.add("/");
...
public static void calculat(List<String> lexems)
{
while (lexems.size() > 1)
{
for (int i = 0; i <= lexems.size();i++)
{
if (lexems.get(i) == "/")
{
String a = lexems.get(i-1); //попытка получить цифру перед /
System.out.println(a);
}
}
}
}