Kezdőoldal » Számítástechnika » Programozás » Mi a baj a programommal?

Mi a baj a programommal?

Figyelt kérdés

Próbáltam írni egy programot Java-ban, ami egy Excel fájlból olvas be kérdéseket. A kérdéseket mind külön objektumként szerettem volna kezelni, és az egyiket véletlenszerűen kiírni. Azonban hiába néztem át nagyon sokszor nem tudtam rájönni, hogy mi lehet a hiba, miért nem csinál semmit futtatáskor. (Kezdő vagyok Excel fájl kezelésben). Előre is köszönöm a segítséget!


public static class Sorkerdesek {



int szama;

String sorkerdes;

String a;

String b;

String c;

String d;

String valasz;

String kategoria;


public Sorkerdesek(int szama, String sorkerdes, String a, String b, String c, String d, String valasz, String kategoria) {

this.szama = szama;

this.sorkerdes = sorkerdes;

this.a = a;

this.b = b;

this.c = c;

this.d = d;

this.valasz = valasz;

this.kategoria = kategoria;

}


}


public static void main(String[] args) {

// TODO code application logic here

try {

Workbook workbook = Workbook.getWorkbook(new File("loim.xls"));


Sheet sheet1 = workbook.getSheet(1);

Sorkerdesek[] skerdes = new Sorkerdesek[500];


for (int i = 0; i < skerdes.length; i++) {


Cell a1 = sheet1.getCell(i,i+1);

String stringa1 = a1.getContents();


Cell a2 = sheet1.getCell(i+1,i+1);

String stringa2 = a2.getContents();


Cell a3 = sheet1.getCell(i+2,i+1);

String stringa3 = a3.getContents();


Cell a4 = sheet1.getCell(i+3,i+1);

String stringa4 = a4.getContents();


Cell a5 = sheet1.getCell(i+4,i+1);

String stringa5 = a5.getContents();


Cell a6 = sheet1.getCell(i+5,i+1);

String stringa6 = a6.getContents();


Cell a7 = sheet1.getCell(i+6,i+1);

String stringa7 = a7.getContents();



skerdes[i] = new Sorkerdesek(i,stringa1,stringa2,stringa3,stringa4,stringa5,stringa6,stringa7);

}


System.out.println("A kérdés: ");

int random = (int) (Math.random()*500);

System.out.println("A random szám: " + random);


System.out.println(skerdes[random].szama + "\n" + skerdes[random].sorkerdes + "\n" +

skerdes[random].a + "\t" + skerdes[random].b + "\n" + skerdes[random].c + "\t" +

skerdes[random].d + "\n" + skerdes[random].valasz + "\n" + skerdes[random].kategoria);


workbook.close();

}catch (Exception e){}

}

}



2015. dec. 29. 15:19
 1/6 anonim ***** válasza:

Van benne néhány szintaktikai hiba, ami miatt le sem fordul. Értelmezd a fordító hibaüzeneteit.


Amit én látok szemmel:

- a konstruktor után van egy fölös }

- a konstruktor hívása után is van egy fölös }

2015. dec. 29. 15:26
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

Bocs, ezt visszavonom, most vettem észre a ciklus fejlécet:

- a konstruktor hívása után is van egy fölös }

2015. dec. 29. 15:27
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
Mondjuk ha üres catch block helyett kiíratnád a hibát az lehet segítene...
2015. dec. 29. 16:09
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

#1 és #2 vagyok


Ezt is visszavonom, bocsánat:

- a konstruktor után van egy fölös }


Most láttam, hogy ott tényleg véget ér a class, ugyanis inner classt definiáltál, csak nem másoltad be a teljes fájlt.


Tényleg ki kéne írni azt exception-t:

e.printStackTrace();

2015. dec. 29. 16:16
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:

Ezt a hibaüzenetet írja ki:


java.lang.ArrayIndexOutOfBoundsException: 7

at jxl.read.biff.SheetImpl.getCell(SheetImpl.java:356)

at excel2.Excel2.main(Excel2.java:74)

2015. dec. 29. 16:24
 6/6 anonim ***** válasza:

Pedig ez elég egyértelmű..

Túlindexelsz. Nincs hetes cella.

Amúgy is elég borzasztó az a ciklustalan rész.

2015. dec. 29. 16:57
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!