Я пытаюсь сгенерировать таблицу выходных данных в Java со значениями второго столбца, расположенными точно друг над другом.Вместо этого я получаю значение, «отталкиваемое» вправо, даже если строка не перекрывает отступы.Я знаю, что это довольно длинная строка, но ее всего 27, а для отступа задано значение 30, поэтому не следует ли просто заполнить последние три пробела и распечатать там вместо того, чтобы прыгать вправо?
Я попытался изменить все значения заполнения на 1, а 30 на 15, но они все еще не совпадают.Цена действительно перемещается, но не совпадает с другими линиями, когда я изменяю их значение заполнения, чтобы соответствовать.
Я думаю, я мог бы просто сделать их разными числами, но я хочу, чтобы это правильно выровнялось с любым размеромСтрока, до 30 символов.Изменение длины цены с 17,46 до 0,0, похоже, тоже не помогает.
Мне нужно сократить его до "2 Medium Red Roaste", чтобы он работал, на "2Medium Red Roasted "начинает сдвигаться.Таким образом, он работает правильно при 19 символах, но не при 20.
System.out.printf ("%d %-13s%30.2f%n",2,"Medium Roasted Red Pepper",17.46);
System.out.printf ("%d %-13s%30.2f%n",1, "Large Cheese" ,7.69);
System.out.printf ("%-13s %30.2f%n","Tax" , 1.76);
System.out.printf ("%-13s %30.2f%n","Delivery" , 2.69);
System.out.printf ("%-13s %30.2f%n","Total" , 29.61);
Я получаю это в качестве вывода:
2 Medium Roasted Red Pepper___________________________17.46
1 Large Cheese___________________________7.69
Tax_____________________________________1.76
Delivery________________________________2.69
Total__________________________________29.61
Я ожидал этого:
2 Medium Roasted Red Pepper_____________17.46
1 Large Cheese__________________________7.69
Tax____________________________________1.76
Delivery________________________________2.69
Total__________________________________29.61
(где все цифры располагаются справа)