Оптимизация вывода строк
Буквально за 10 минут написал простенькую программу, которая генерирует числами что-то "типо пилообразного сигнала, но изначально я синусоиду планировал нарисовать" (на него в итоге не очень похоже). Но, вывод чисел происходит не равномерно. Что можно сделать с этим кодом, чтобы все числа выводились плавно, без заеданий, пролагов и провисов?
import java.util.concurrent.TimeUnit;
public class Main {
public static void main(String[] args) throws InterruptedException {
int x = 1;
int speed = 30;
int frequency = 20;
String amplitude = "1";
StringBuffer sinusoid = new StringBuffer("1");
while (x<=frequency) {
System.out.println(sinusoid.toString());
sinusoid.append(amplitude);
x++;
TimeUnit.MILLISECONDS.sleep(speed);
if (x==frequency) {
int y = frequency;
while (y >= 1) {
System.out.println(sinusoid.toString());
sinusoid.setLength(y);
y--;
x--;
TimeUnit.MILLISECONDS.sleep(speed);
}
}
}
}
}