1) Компилятор не знает, что это за переменная rand и какого она типа.
Похоже, вы ее не объявили.
2) Компилятор не знает, что это за переменные f1 и f2 и каких они типов.
Похоже, вы их тоже не объявили.
3) В свич вы подаете строку "result" и ожидаете, что она будет равна какому-то числу. Фигушки, не будет: строка и число — это данные разных типов. В свиче нет кейса default, срабатывающего при несовпадении остальных кейсов, поэтому непонятно, что должно быть возвращено в таких случаях.
Исправьте, например, так:
return switch (result) {
case 1 -> Figure.SCISSORS;
case 2 -> Figure.PAPER;
case 3 -> Figure.STONE;
default -> Figure.STONE;
}
И задайте выше значение переменной result, иначе свич не имеет смысла, так как проверяет непонятно что.
4) Тут среда жалуется на отсутствие скобок вокруг простых сравнений. Есть некие стандарты, которые предписывают ставить скобки для ясности, но это не обязательно. В принципе ничего менять не нужно, если компилятор не жалуется на реальные ошибки.