我有一個問題,弄清楚如何填充從我的數組值打印的字符串。我認爲我有一個很好的方法來做到這一點,但它沒有正確讀取x.length,所以我很好奇替代方法,甚至是對錯誤的解釋。將字符串填充到任意長度的方法
import java.util.Scanner;
//================================================================
public class Array {
//----------------------------------------------------------------
private static Scanner Keyboard = new Scanner(System.in);
public static void main(String[] args) {
//----------------------------------------------------------------
char group, rLetter,letter;
String choice ;
String str = " ";
double sum = 0;
int num = 10; // for test
int rows = 10;
int columns = 8;
double average = 0;
int S;
int diff = 0;
int totalChar=0;
int minLen = 20;
String x= "";
// creating 2d array
System.out.print("Please enter number of rows : ");
rows = Keyboard.nextInt();
Keyboard.nextLine();
double[][] figures = new double[rows][num];
for(int t = 0; t < rows; t++) {
rLetter = (char)((t)+'A');
System.out.print("Please enter number of positions in row " + rLetter + " : ");
columns = Keyboard.nextInt();
Keyboard.nextLine();
figures[t] = new double[columns];
}
// filling the array
for(int row = 0; row < figures.length; ++row) {
for(int col = 0; col < figures[row].length; ++col) {
figures[row][col] = 0.0;
}
}
// printing the array
for(int row=0; row<figures.length; ++row) {
// printing data row
group = (char)((row)+(int)'A');
System.out.print(group+" : ");
for(int col=0; col<figures[row].length; ++col) {
sum += figures[row][col];
average = sum/figures[row].length;
x = " "+figures[row][col];
diff = minLen - x.length();
System.out.printf("%1$" + diff + "s", x);
System.out.print(" ");
}
System.out.print("["+average+"]");
System.out.println();
}
}
}
我想產生一個表,看起來像這樣:
A: 0.0 0.0 0.0 - [ 0.0, 0.0]
B: 0.0 0.0 0.0 0.0 - [ 0.0, 0.0]
C: 0.0 0.0 0.0 0.0 0.0 - [ 0.0, 0.0]
凡 - 是我想,以填補空間,直到任意長度。換句話說,我希望我的打印陣列部分能夠打印每一行並將空格添加到一個點。有沒有可能爲此做一個方法?我不熟悉所有的java方法,所以任何幫助表示讚賞。 如果這是一個重複的問題,我希望重定向到原來的,我會嘗試刪除這一個。對於這種情況下的不便,也感到抱歉。
那麼有沒有辦法做到這一點在for循環,因爲我有現在? – user3505222
@ user3505222,絕對有辦法做到這一點,但是您還沒有提供完整的可編譯程序,我可以嘗試調試。 – merlin2011
另外,我假設你將使用'for'循環,而不管構建字符串的左邊還是右邊。 – merlin2011