Я хочу выровнять столбец с поплавками в десятичной точке. Я знаю, что это легко сделать, если вы ограничиваете точки после десятичной, но я хочу, чтобы пользователь мог вводить неограниченное число и длину.Выровнять столбец с поплавками в десятичной точке Java
Вот часть моей программы, касающиеся выравнивания поплавка:
String[] input = new String[3];
System.out.format("%n%n\tEnter three floating point numbers%n");
for (int i=0;i<3;i++)
input[i] = in.nextLine();
System.out.format("\tHere they are lined up on their decimal point%n");
/*This is used to find decimal location in each string*/
int[] decLoc = new int[3];
for (int i=0; i<3; i++)
{
for(int j=1; j<=input[i].length();j++)
if(input[i].charAt(j-1) == '.')
decLoc[i] = j;
}
/*print 5 spaces before number if the decimal is at place 0, 4 spaces for 1...*/
for(int i=0;i<3;i++)
{
if(decLoc[i]==0) System.out.print(" ");
else if(decLoc[i]==1) System.out.print(" ");
else if(decLoc[i]==2) System.out.print(" ");
else if(decLoc[i]==3) System.out.print(" ");
else if(decLoc[i]==4) System.out.print(" ");
else if(decLoc[i]==5) System.out.print(" ");
System.out.println(input[i]);
}
Выход:
Enter three floating point numbers
3265.3265
23.365
254.3256
Here they are lined up on their decimal point
3265.3265
23.365
254.3256
нужно лучшее решение для выравнивания поплавки различной длины.
использование tabs.и десятичный трансформатор –