Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我在编码站点(codechef)的在线编译器上遇到运行时错误_Java_Runtime - Fatal编程技术网

Java 我在编码站点(codechef)的在线编译器上遇到运行时错误

Java 我在编码站点(codechef)的在线编译器上遇到运行时错误,java,runtime,Java,Runtime,我在一个编码站点的codechef在线编译器上遇到运行时错误。我已经看透了所有的数组越界条件。你可以找到问题所在 代码: 请详细说明错误的真正原因。请注意: 系统输出打印输入a、b、c; a=英寸,下一个颜色; b=英寸nextInt; c=英寸nextInt; 您要求输入字符a、b或c,使用 .nextInt 读像a、b、c这样的字符只会给你带来错误。如果希望将输入存储为整数,则使用解析 此外,请尝试使用异常处理: 试一试{ .... }捕获异常e{ .... } 运行时错误是?您得到的错误是

我在一个编码站点的codechef在线编译器上遇到运行时错误。我已经看透了所有的数组越界条件。你可以找到问题所在

代码:


请详细说明错误的真正原因。请注意:

系统输出打印输入a、b、c; a=英寸,下一个颜色; b=英寸nextInt; c=英寸nextInt; 您要求输入字符a、b或c,使用

.nextInt 读像a、b、c这样的字符只会给你带来错误。如果希望将输入存储为整数,则使用解析

此外,请尝试使用异常处理:

试一试{ .... }捕获异常e{ .... }
运行时错误是?您得到的错误是什么??你能添加stacktrace吗?@UnknownOctopus实际上是先生,它的nzec,它是c的非零出口代码,它没有添加返回0;我假设它的数组在java中超出了范围。@digidude我在我的环境中没有得到任何错误。@GauravSharma。。。我在codechef上检查了NZEC的一些可能原因。您提供输入的方式可能存在问题。您的程序接受新行中的坐标,但它们通常提供由空格分隔的输入。。。。。可能是一个原因。查看此链接上的最后评论。。。。。。。。。。。。。。。。。。。。。。我明白您在那里做了什么:尝试使用异常处理。
import java.util.Scanner;

public class HighwayFactory {

    int[] Warehousesx = new int[5000];
    int[] Warehousesy = new int[5000];
    int[] Pointsx = new int[5000];
    int[] Pointsy = new int[5000];
    double[] minDist = new double[5000];
    double[] sumDistArr = new double[5000];
    int a, b, c, nWare;
    int tCases;
    int minX, maxX = Warehousesx[0];
    float x1, y1, x2, y2;
    double[] distance = new double[5000];
    double min = 0;

    void gett() {
        Scanner in = new Scanner(System. in );
        System.out.println("enter no of test cases");
        tCases = in .nextInt();
    }

    void start() {
        gett();
        for (int i = 1; i <= tCases; i++) {
            getValues();
            calcMinMax();
            pointscalc();
            distanceCalc();
        }
    }

    void getValues() {
        Scanner in = new Scanner(System. in );

        System.out.println("enter value of n");
        nWare = in .nextInt();
        System.out.println("enter a,b,c");
        a = in .nextInt();
        b = in .nextInt();
        c = in .nextInt();
        System.out.println("enter co-ordinates of warehouses");
        for (int i = 0; i < nWare; i++) {
            Warehousesx[i] = in .nextInt();
            Warehousesy[i] = in .nextInt();
        }

    }

    void calcMinMax() {
        int min = Warehousesx[0];

        for (int i = 1; i < nWare; i++) {
            if (Warehousesx[i] < min) {
                min = Warehousesx[i];
            }
        }
        minX = min;

        for (int i = 0; i < nWare; i++) {
            if (Warehousesx[i] > maxX) {
                maxX = Warehousesx[i];
            }
        }
    }

    void pointscalc() {
        for (int i = Math.abs(minX); i < Math.abs(maxX); i++) {
            int min = minX;
            Pointsx[i] = min;
            Pointsy[i] = (-a * i - c) / b;
            min++;
        }
        for (int j = Math.abs(minX); j < Math.abs(maxX); j++) {
            double sumDist = 0;

            x2 = Pointsx[j];
            y2 = Pointsy[j];

            for (int i = 0; i < nWare; i++) {
                x1 = Warehousesx[i];
                y1 = Warehousesy[i];

                distance[j] = Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow(y2 - y1, 2));
                sumDist = distance[j] + sumDist;
            }
            sumDistArr[j] = sumDist;
        }
    }

    void distanceCalc() {
        int a = Math.abs(minX);
        int b = Math.abs(maxX);
        double min = sumDistArr[a];

        for (int i = a + 1; i < b; i++) {
            if (sumDistArr[i] < min) {
                min = sumDistArr[i];
            }
        }
        System.out.println(min);
    }

    public static void main(String[] args) {
        HighwayFactory nh86 = new HighwayFactory();
        nh86.start();
    }
}