Хоть пользоваться интерполяцией научись сначала - все дело в неизменном начальном и конечном значении и изменении параметра, а у тебя исходные данные всегда разные. ты все время двигаешь по одному и тому же параметру но используешь разные значения, которые на каждом шаге ближе друг к другу.
private static float lerp(float from, float to, float t) {
return from + ( to-from )*t;
}
float from= 0;
float current = 0;
float to = 50;
for (int i = 0; i < 15; i++) {
current = lerp(from, to, i/14f);
System.out.println( current );
}