2013-10-24 107 views
0

加權矩陣,它在所有可能創建一個顯示字母邊緣的不是數字的鄰接矩陣。例如,一個加權圖。創建一個帶有字母邊緣

. a b c d e f 
a 0 1 0 0 0 0 
b 0 0 0 4 0 0 
c 0 0 1 0 0 0 
d 0 0 0 3 0 0 
e 0 2 0 0 0 0 
f 0 0 0 0 0 0 

據我已經竭盡所能爲完成這樣的任務測試出我的理論,如

int let = 0; 
String str = "a b c d e f"; 
char[] list = new char[str.length()]; 
for(int i = 0; i < list.length; i++) 
{ 
    list[i] = str.charAt(i); 
} 
//To create the char array with letters used for the matrix 
System.out.println(); 
for(int i = 0; i < list.length; i++) 
{ 
    System.out.printf("%-3d", list[i]); 
} 
System.out.println(); 
for(int i = 0; i < list.length; i++) 
{ 
    System.out.printf("%-3d", list[i]); 
    for(int x = 0; x < list.length; x++) 
    { 
      System.out.printf("%-3d", let); 
    } 
    System.out.println(); 
} 

我只是得到了一堆關於printformat和轉換,這樣的錯誤。 (沒有安裝Eclipse此刻打開)

,如果我更換工作現象(名單[1])與(i + 1),以獲得數字1-6,但只是沒有爲字母。 它甚至有可能完成這項任務?如果不可能的話,如何創建帶有字母邊的加權矩陣?

這個問題可能不是大多數的你充滿挑戰,但作爲一個初學者Java程序員,我很好奇,學習,即使我有遭受謙卑。沒有其他的學習方式。

回答

1

您可以通過鑄造整型值char並添加適合你想要的ASCII字符膠印字母。這個例子將打印字母a-f。

for (int i = 0; i < 6; i++) { 
    System.out.printf("%-3c", (char) (i+97)); 
} 

爲ASCII值 'a' 爲97, 'b' 爲98等。

參考:一個ASCII table

+0

我不知道格式「%-3C」是爲字母和「%-3d」是(雙)?我不確定。那在我的頭上。非常感謝老闆! –

+0

@jeffreyzachary'%d'實際上是'簽名的十進制整數'。 '%f'is爲浮點數字:) – jpw

+0

謝謝!我剛剛開始嘗試printf();這絕對有用! –