2013-08-01 48 views
-6

我正在尝试制作一个矩阵,并在最右边显示了一个列。
该列的值与第一行和第一列相同。
我的代码有问题吗?我对Java不太熟悉。我遇到了一些java中的问题

import java.util.*; 
class Test 
{ 
public static Scanner br = new Scanner(System.in); 
static int w [][]; 
static int n; 
static int i, j; 

public static void main (String[] args) 
{ 
    System.out.println("Find the shortest edge"); 
    System.out.println("\nEnter the number of the vertices: "); 
    n = br.nextInt(); 
    w = new int[n+1][n+1]; 
    for(int i=0;i<n;i++) 
     for(int j=0;j<n;j++) 
     { 
      if((i!=j)) 
      { 
      w[i][j] = w[j][i]= 1+(int)(Math.random()*9); 
      } 
      else if(i == j) 
      { 
       w[i][j] = w[j][i] = 0; 
      } 
     } 
    Graph(); 
    Prim(); 
} 

static void Graph() 
{ 
    for(int i=0;i<n;i++) 
    { 
     for(int j=0;j<n;j++) 
     { 
      System.out.print(" "+w[i][j]+" "); 
     } 
    System.out.println(w[i][j]+" "); 
    } 
} 
static void Prim() 
{ 
    getMinlength(); 
} 
static void getMinlength() 
{ 
    int a=1,b=2; 
    for(int i=1;i<=n;i++) 
     for(int j=1;j<=n;j++) 
     { 
      if((w[i][j] < w[a][b])&&(i!=j)) 
      { 
       a=i; 
       b=j; 
      } 
     } 
    System.out.println("The shortest edge is "+a+" to "+b); 
} 
} 
+1

是。代码中的一个问题是缺少一致的缩进。 –

+1

还有一个可怕的习惯,就是换一个新的线。使其难以阅读。 – MightyPork

+1

@MightyPork难以阅读......有点像文本中的数字来表示单词?你的观点是主观的,尽管我一般都是K&R的粉丝。 –

回答

1

则必须替换图()从最后一行方法 :

System.out.println(w[i][j]+" ");

到:

System.out.println();

+0

,我可以问一些吗?最新的Facebook或任何其他APP与你聊天? – JustSt

0

问题出在Graph函数的外部循环中。 你只是想打印一个新的行,而不是另一个值w [i] [j]

System.out.println(""); 
+0

我还有一些我的任务的问题...我可以添加你的Facebook或任何其他APPS聊天和你? – JustSt