2016-03-22 20 views
-1

Bu sorunun - ArrayIndexOutOfBoundsException hakkında - birçok kez yanıtlandığını anlıyorum ve tekrar göndermekten dolayı özür dilerim ancak aşağıdaki kodu nasıl düzeltebileceğimi anlayamıyorum. Temel olarak 100x100 kafes içinde kendinden kaçan bir yürüyüş yapmalı, sonra kafes boyutunu 1000x1000 olarak değiştirmeli ve kendini yakalamadan ve bir yere gidemeden önce kaç adım attığını görmek için yürüyüşü simüle etmeliyim. Herhangi bir yardım büyük Kendiliğinden rastgele yürümeden kaçınmak

`

takdir

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

Bu, 'args' boş olduğunu gösterir, argümanlar ile doğru şekilde çalıştırdığınızdan emin misiniz? – Maljam

+1

Hataların uzunluğunu kontrol etmelisiniz: eğer (args.length <2) {System.err.println ("Usage: SelfAvoidingWalk "); System.exit (1);} –

cevap

1

ArrayIndexOutOfBoundsException

bunu bulunmayan bir dizinin bir dizin acces çalıştığınızda bu hata oluşur. Senin durumunda

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

komut satırında herhangi argümanları geçmemiş ise bu başarısız olur ise

. Sınıfı nasıl çalıştırdığınızı kontrol ederdim.

+0

Teşekkürler! Bu yardımcı oldu. – StrugglingEngrStudent