使用java编写哈密顿最短路径问题:代码不完整,但不知道缺的是什么内容

import javax.crypto.spec.PBEKeySpec;
import java.util.Scanner;

public class Hami {
static int[][] a=new int[5][5];
static int[] bestWay=new int[6]; //这个数组的作用是什么?
static int min=99999999;
static int sum=0;
static Scanner in=new Scanner(System.in);

public static void main(String[] args) {
    int x = in.nextInt();
    int y = in.nextInt();
    int z = in.nextInt();
    a[x][y] = z;
    a[y][x] = z;                ** //不理解为什么要输入x,y,z**

    for (int i = 2; i < a.length;i++){
        for(int j=2;j<a.length;j++){
            if(j!=i){
                for(int k=2;k<a.length;k++){
                    if(k!=i&&k!=j){
                        sum=a[1][i]+a[i][j]+a[j][k]+a[k][1];
                        if(min>sum){
                            min=sum;
                            bestWay[1]=1;
                            bestWay[2]=i;
                            bestWay[3]=j;
                            bestWay[4]=k;
                            bestWay[5]=1;
                        }
                    }
                }
            }
        }
    }
    for(int i=1;i<bestWay.length;i++){
        System.out.println(bestWay[i]+"-->");
    }
    System.out.println(bestWay[bestWay.length-1]);
    System.out.println(min);
}

}