2017-06-30 5 views
-1

Ceci est mon premier partage. Aidez-moi, s'il vous plaît. Je pense que le problème est un débordement de tableau mais tout est correct dans le code. Le programme n'est pas exécuté. Crash après la fermeture. Merci pour l'aide.Android Studio Crash Causé par: java.lang.ArrayIndexOutOfBoundsException: length = 1; index = 6

Caused by: java.lang.ArrayIndexOutOfBoundsException: length=1; index=6               
at com.teornek.ehliyetsinavi.MainActivity.soruDosyasiOku(MainActivity.java:71)                    at com.teornek.ehliyetsinavi.MainActivity.onCreate(MainActivity.java:53) 

C'est la méthode qui tombe en panne:

private void soruDosyasiOku() { 
    InputStream stream = getResources().openRawResource(R.raw.ehliyet); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(stream, Charset.forName("UTF-16"))); 

    Soru yeniSoru; 
    String soru = null; 
    sorular = new ArrayList<Soru>(); 

    try { 
     while ((soru = reader.readLine()) != null) { 
      String [] soruIcerik; 
      soruIcerik = soru.split(";"); 
      String konu = soruIcerik[0]; 
      String dogru = soruIcerik[6]; **//THIS IS (MainActivity.java:71)** 

      if ((konu.equals("T") || konu.equals("M") || konu.equals("Y")) && 
        (dogru.equals("A") || dogru.equals("B") || dogru.equals("C") || dogru.equals("D"))) { 
       yeniSoru = new Soru(soruIcerik[0], soruIcerik[1], soruIcerik[2], 
         soruIcerik[3], soruIcerik[4], soruIcerik[5], soruIcerik[6]); 
       sorular.add(yeniSoru); 
      } 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 


protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    soru = (TextView) findViewById(R.id.soru); 
    soru.setEnabled(false); 
    cevap1 = (Button) findViewById(R.id.cevap1); 
    cevap2 = (Button) findViewById(R.id.cevap2); 
    cevap3 = (Button) findViewById(R.id.cevap3); 
    cevap4 = (Button) findViewById(R.id.cevap4); 

    Button konular = (Button) findViewById(R.id.konular); 
    Button sinaviBaslat = (Button) findViewById(R.id.sinaviBaslat); 

    cevap1.setOnClickListener(cevapTikla); 
    cevap2.setOnClickListener(cevapTikla); 
    cevap3.setOnClickListener(cevapTikla); 
    cevap4.setOnClickListener(cevapTikla); 

    konular.setOnClickListener(konularTikla); 
    sinaviBaslat.setOnClickListener(sinaviBaslatTikla); 
    soruDosyasiOku(); **//THIS IS (MainActivity.java:53)** 
    tercihleriOku(); 
    sinaviBaslat(); 
} 
+0

ce qui est op de '' soru –

+0

soru question signifie en anglais. –

Répondre

0
soruIcerik = soru.split(";"); 
if (soruIcerik.length == 7) { 
    String konu = soruIcerik[0]; 
    String dogru = soruIcerik[6]; **//THIS IS (MainActivity.java:71)** 

    if ((konu.equals("T") || konu.equals("M") || konu.equals("Y")) && 
        (dogru.equals("A") || dogru.equals("B") || dogru.equals("C") || dogru.equals("D"))) { 
       yeniSoru = new Soru(soruIcerik[0], soruIcerik[1], soruIcerik[2], 
         soruIcerik[3], soruIcerik[4], soruIcerik[5], soruIcerik[6]); 
       sorular.add(yeniSoru); 
      } 
} 
+0

Causée par: java.lang.NullPointerException: Tentative d'invocation de la méthode virtuelle 'java.lang.String [] java.lang.String.split (java.lang.String)' sur une référence d'objet nul –

+0

Afficher la trace de la pile complète –