Помогите пожалуйста с решением задачки:
Задание:
Написать метод, который выполняет закодированные в строке
команды. Начальное число 0.
Сигнатура: List getResult(final String input)
На вход подается строка, содержащая только 4 вида символов:
i - увеличить число на один;
d - уменьшить число на один;
s - возвести число в квадрат;
o - добавить число в выходной список.
Пример:
Входные данные: "iiisdoso"
Выходные данные: {8, 64}
На JS решение простейшее:
function Test(str) {
let output = [], a = 0;
for(let i = 0; i < str.length; i++) {
if(str[i] === 'i') a += 1;
if(str[i] === 'd') a -= 1;
if(str[i] === 's') a = Math.pow(a, 2);
if(str[i] === 'o') output.push(a);
}
return output;
}
console.info(Test('iiisdoso'));
Но вот превратить его в Java не хватает мозгов мне что-то.
Из попыток моих вот:
package com.company;
public class Main {
public static int[] main(String[] args) {
int output[], a = 0, str[];
for (int i = 0; i < str.length(); i++) {
if(str[i] == 'i') {
a += 1;
};
if(str[i] == 'd') {
a -= 1;
}
if(str[i] == 's') {
a += 2;
}
}
return output;
System.out.println("iiisdoso");
}
}