Где вы ошиблись
Ваша проблема в следующем:
for(int i=0;i<nums.length;i++){
st.concat(i);
}
В качестве аргумента вы передаете счетчик, то есть st.concat(0)
, который затем входит в параметр default:
в вашем выражении switch, выводя значение 11
. Во второй итерации вы передаете st.concat(1)
, который выводит значение 1
.
Как исправить
Вместо этого вы должны передать nums[i]
, который вернет вам 5
в первой итерации.
Кроме того, поскольку ваш метод concat
принимает int
, вам необходимо выполнить быстрое преобразование:
st.concat(Integer.parseInt(nums[i]));
Чтобы упростить задачу, просто объявите и заполните nums
как массив int
вместо:
int[] nums= { 5, 6 };