我在java中遇到了一些问题

我在java中遇到了一些问题,java,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

我试图制作一个矩阵,在最右边又显示了一列。 该列的值与第一行和第一列的值相同。 我的代码有什么问题吗?我对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);
}
}

问题出在图形函数的外循环中。 您只需要打印一个新行,而不是另一个值w[i][j]

e、 g


必须替换Graph方法中的最后一行 发件人:

System.out.printlnw[i][j]+

致:


System.out.println

对。代码中的一个问题是缺乏一致的缩进,以及使用{在新的一行。使它很难阅读。@MightyPork更难阅读…有点像文本中的数字来代表单词吗?你的观点是主观的,尽管我一般都是K&R的粉丝。@MightyPork无意冒犯,但同样可以说,你选择用数字2代替英语单词…看起来你现在已经编辑掉了:我可以问一些更进一步的问题吗?你的facebook或任何其他应用程序可以与你聊天吗?我的作业还有一些问题…我可以添加你的facebook或任何其他应用程序与你聊天吗?
System.out.println("");