2016-04-08 16 views
0

'da bir yöntemle döndürülen bir sınıftaki değişken değerini ayarlayın. Yani 2 sınıfım var. Birincisi bir dosyadan bilgi okur ve bir 2D dizisinde saklar ve sonra onu döndürür. böylece gibi: benim diğer sınıfın üzerindeBaşka bir

public class Skaitymas{ 
File f = new File("Events.txt"); 
private int lines = 0; 
private Scanner sc; 
private String[][] myArray; 

public void skaityti() throws IOException{ 
    BufferedReader reader = new BufferedReader(new FileReader("Events.txt")); 
    try{ 
     while (reader.readLine() != null){ 
      lines++; 
     } 
     reader.close(); 
    }catch (FileNotFoundException e) { 
     e.printStackTrace();  
    } 
} 

public String[][] iMasyva() throws IOException{ 
    sc = new Scanner(new File("Events.txt")); 
    String linija = null; 
    int counter = 0; 
    myArray = new String[lines][5]; 
    for(int i = 0; i<myArray.length; i++){ 
     linija = sc.nextLine().toString(); 
     String[] dabartinesLinijosStringai = linija.split(" "); 
     for(int j = 0; j<myArray[0].length; j++){ 
      myArray[counter][j] = dabartinesLinijosStringai[j]; 
     } 
     counter++; 
    } 
    return myArray; //The 2D array i wish to return 
} 
} 

i 1 Sınıf dönen 2B dizi alır yeni bir 2D dizi başlatmak istiyoruz. 1. sınıfın bir nesnesini oluşturur ve sonra değeri döndüren yöntemi başlatırım. böylece gibi:

Skaitymas read = new Skaitymas(); 

String[][] mas = read.iMasyva(); 

Ama bu hatayı alıyorum: Varsayılan yapıcı örtük süper yapıcı tarafından atılan özel durum türü IOException işleyemez.

Açık bir kurucu tanımlamalıdır Bunu yapmamın gerekip gerekmediğini bilmiyorum, bu yüzden herhangi bir yardım takdir edilir! Bana uyar çünkü sınıfta "Skaitymas" yapıcı bunu atmak yerine IOException tutmazsan Neden

+0

Bir yığın-iz falan gönderebilir miyim. – Ducaz035

+0

İkinci sınıfınızdaki yönteminizin de bir IOException atması gerekiyor, aksi halde bu hatayı alırsınız. Muhtemelen bir yöntem atışı kullanmamalı ve bunun yerine bir try-catch kullanmalısınız. –

cevap

0

try{ 
     while (reader.readLine() != null){ 
      lines++; 
     } 
     reader.close(); 
    }catch (FileNotFoundException e) { 
     e.printStackTrace();  
    }catch(IOException e) 
{ 
e.printStackTrace(); 
} 
+0

yup this^sadece yorumumda söylediğim şey –