2016-03-22 2 views
-1

Ich verstehe, dass diese Frage - über ArrayIndexOutOfBoundsException - hat viele Male beantwortet und ich entschuldige mich wieder für die Buchung aber ich kann nicht scheinen, um herauszufinden, wie Sie den folgenden Code zu beheben. Im Grunde brauche ich einen Selbst vermeiden Spaziergang in einem 100x100 Gitter zu erstellen, dann die Gittergröße zu 1000x1000 ändern und dem Weg zu simulieren, um zu sehen, wie viele Schritte es dauert, bis sich Einfangen und nicht überall in der Lage zu gehen. Jede Hilfe ist sehrSelbst vermeiden Irrfahrt

geschätzt

`

import java.util.Scanner; 
public class SelfAvoidingWalk{ 
public Scanner scan = new Scanner(System.in); 
public static void main(String[] args){ 

    int N = Integer.parseInt(args[0]);  % I get the error here 
    int Trials = Integer.parseInt(args[1]);  % and here because args[0] 




    for (int t = 0; t < Trials; t++) { 
     boolean[][] a = new boolean[N][N]; 
     int x = N/2, y = N/2;    
+3

Das zeigt an, dass 'args' leer ist, sind Sie sicher, dass Sie es mit den Argumenten korrekt ausgeführt werden? – Maljam

+1

Sie sollten einen Scheck für die Länge der args hinzu: 'if (args.length <2) {System.err.println ("Verwendung: SelfAvoidingWalk "); System.exit (1);} –

Antwort

1

ArrayIndexOutOfBoundsException

Dieser Fehler tritt auf, wenn Sie versuchen, einen Index eines Arrays acces es nicht besitzt.

In Ihrem Fall

int N = Integer.parseInt(args[0]); 

würde dies fehlschlagen, wenn Sie keine Argumente auf der Kommandozeile übergeben haben. Ich würde überprüfen, wie Sie die Klasse führen.

+0

Dank! Das hat geholfen. – StrugglingEngrStudent