метод add()
От: Fraction  
Дата: 11.12.13 13:14
Оценка:
Здравствуйте. 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);
            
        }
                
    }
    
    }
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.