Софтуерно Инженерство
Loading...
+ Нов въпрос
tencho_vp avatar tencho_vp 2 Точки

Runtime Error

На задача BasketBattle от Programming Basics Exam 29 March 2015 Morning системата ми дава 60 точки, защото на първите 4 теста ми дава Runtime Error, при положение, че като ги компилирам на IntelliJ на моя компютър тези тестове не ми дават никаква компилационна грешка и печата правилно изходните данни..


judge ми дава следната грешка:


Exception in thread "main" java.lang.SecurityException: Not allowed: java.lang.RuntimePermission
at _$SandboxSecurityManager.checkPermission(_$SandboxExecutor.java:102)
at java.lang.SecurityManager.checkExit(SecurityManager.java:761)
at java.lang.Runtime.exit(Runtime.java:107)
at java.lang.System.exit(System.java:971)
at BasketBattle.main(BasketBattle.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at _$SandboxExecutor.main(_$SandboxExecutor.java:38)
 

Тагове:
0
Programming Basics
nicktron avatar nicktron 10 Точки

Покажи си кода

0
tencho_vp avatar tencho_vp 2 Точки
import java.util.Scanner;
public class BasketBattle {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String currentCompetitor = input.next();
        int rounds = input.nextInt();
        int nakovPoints=0;
        int simeonPoints=0;
        int points;
        String rate;
        for(int i=0;i<rounds;i++)
        {
            for(int j=0;j<2;j++)
            {
                points = input.nextInt();
                rate = input.next();
                if (currentCompetitor.equals("Nakov") )
                {
                    if(nakovPoints + points <= 500 && rate.equals("success")) {
                        nakovPoints = nakovPoints + points;
                        if (nakovPoints == 500) {
                            System.out.println("Nakov");
                            System.out.println(i+1);
                            System.out.print(simeonPoints);
                            System.exit(1);
                        }
                    }
                }
                if (currentCompetitor.equals("Simeon") )
                {
                    if(simeonPoints + points <= 500 && rate.equals("success")) {
                        simeonPoints += points;
                        if (simeonPoints == 500) {
                            System.out.println("Simeon");
                            System.out.println(i+1);
                            System.out.print(nakovPoints);
                            System.exit(1);
                        }
                    }
                }
                //switch current competitor if the first turn in the respective round finish
                if(j==0) {
                    if (currentCompetitor.equals("Nakov")) {
                        currentCompetitor = "Simeon";
                    } else {
                        currentCompetitor = "Nakov";
                    }
                }
            }
        }
        if(nakovPoints > simeonPoints)
        {
            System.out.println("Nakov");
            System.out.print(nakovPoints-simeonPoints);
        }
        else if(nakovPoints<simeonPoints)
        {
            System.out.println("Simeon");
            System.out.print(simeonPoints-nakovPoints);
        }
        else
        {
            System.out.println("DRAW");
            System.out.print(nakovPoints);
        }
    }
}
0
Innos avatar Innos SoftUni Team 419 Точки

Гледайки ти error-a използваш System.Exit() което има много Security слабости така че е забранено в Judge.

На кратко не използай "System.exit()".

0
06/08/2016 17:27:10
tencho_vp avatar tencho_vp 2 Точки

вместо System.exit() кое да използвам?

0