简体   繁体   English

如何在内循环之前完全打印外循环(Java)

[英]How to fully print outer loop before inner loop (Java)

My goal is to print a chart that displays "enemy" number, x and y coordinates, then their distance in respect to the other "enemies", but with my following nested loop below, the enemy number, and coordinates are reversed with the distance numbers.我的目标是打印一个图表,显示“敌人”编号、x 和 y 坐标,然后显示它们相对于其他“敌人”的距离,但是在下面的嵌套循环中,敌人编号和坐标与距离相反数字。 I've tried adjusting the position of the codes, but they don't seem to fix the issue.我已经尝试调整代码的 position,但它们似乎无法解决问题。

public static void main(String[] args) {
    
    // array of enemy coordinates
    int[] xCoords = {1, 4, 5, 5, 7, 10};
    int[] yCoords = {3, 4, 6, 2, 5, 2};
    
    
    System.out.println("________Enemy Distance Chart________");
    System.out.println("\t\t\t\t\t\tDistance To (Kilometers)");
    System.out.println("Enemies\t  X Coord  \tY Coord  \tE-0\tE-1\tE-2\tE-3\tE-4\tE-5");
    
    for (int i = 0; i < 6; i++) {
        for (int j = 0; j < 6; j++) {
            double distance = Math.sqrt((yCoords[j]-yCoords[i])*(yCoords[j]-yCoords[i]) + (xCoords[j]-xCoords[i])*(xCoords[j]-xCoords[i]));
            System.out.printf("%.2f\t", distance);  
        }
        // the following code below is somehow printed on the far right 
        System.out.println("E- " + i + "\t\t  " + xCoords[i] + "\t      " + yCoords[i]); 
    }
    
    


    
    for (int i = 0; i < 6; i++) {
        System.out.printf("E-" + i + "\t\t" + xCoords[i] + "\t\t" + yCoords[i] + "\t\t");
        for (int j = 0; j < 6; j++) {
            double distance = Math.sqrt((yCoords[j] - yCoords[i]) * (yCoords[j] - yCoords[i]) + (xCoords[j] - xCoords[i]) * (xCoords[j] - xCoords[i]));
            System.out.printf("%.2f\t", distance);
        }
        System.out.println();
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM