This example shares the specific code for Java implementation of Floyd algorithm to find the shortest path for your reference. The specific content is as follows
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; public class TestMainIO { /** * @param args * @throws FileNotFoundException */ public static void main(String[] args) throws FileNotFoundException { TestMainIO test_print = new TestMainIO(); int[][] G = test_print.intputGragh("D://Users//test.txt" , 6); int[][] Dis = test_print.floyd(G, 6); test_print.printG(Dis, 6); } public void printG(int[][] G,int n){ for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ System.out.println(i+"->"+j+" "+G[i][j]); } } } public int[][] intGragh(String path , int num) throws FileNotFoundException{ int[][] G = new int[num][num]; for(int i=0;i<num;i++){ for(int j=0;j<num;j++){ G[i][j]=999; } } Scanner in = new Scanner(new FileInputStream(path)); while (in.hasNext()) { int i = in.nextInt(); int j = in.nextInt(); int weight = in.nextInt(); G[i][j] = weight; } return G; } public int[][] floyd(int[][] G,int n){ int[][] Dis= new int[n][n]; for(int q=0;q<n;q++){ for(int w=0;w<n;w++){ Dis[q][w]=G[q][w]; } } for(int k = 0; k < n; k++){ for(int i=0; i < n; i++ ){ for(int j=0; j < n; j++){ if(Dis[i][j]>Dis[i][k]+Dis[k][j]){ Dis[i][j]=Dis[i][k]+Dis[k][j]; } } } return Dis; } } } }The above is all the content of this article. I hope it will be helpful to everyone's learning and I hope everyone will support Wulin.com more.