Kezdőoldal » Számítástechnika » Programozás » Miért nem fut le a program...

2105as kérdése:

Miért nem fut le a program rész? Miért akad el a beolvasásnál? (c#)

Figyelt kérdés

Fájlból szeretnék beolvasni de elakad azt írja : 'Nem megfelelő a bemeneti karakterlánc formátuma.'


itt a kód:

StreamReader olvas = new StreamReader("lottosz.dat");

List<string> kihuzott = new List<string>();

int[,] matrixban = new int[51, 5];

while (olvas.EndOfStream == false)

{

kihuzott.Add(olvas.ReadLine());



for (int i = 0; i < 51; i++)

{

string[] sorszam = olvas.ReadLine().Split(' ');


for (int k = 0; k < 5; k++)

{

matrixban[i, k] = Convert.ToInt32(sorszam[k]);

}


}


}

olvas.Close();



" string[] sorszam = olvas.ReadLine().Split(' ');"

ennél a sornál dobja be a hiba üzenetet.


A fájlban az adatok pl:

1 2 3 4 5

56 47 4 6

...


2017. ápr. 16. 21:44
1 2
 1/20 anonim ***** válasza:

Pontosan azért, amit a hibaüzenet mond.

Ráadásul még magyarul is írja.

Mi kell még?

2017. ápr. 16. 21:57
Hasznos számodra ez a válasz?
 2/20 A kérdező kommentje:
Nem értem mi lenne a hiba üzenet lényege, illetve hogyan lehetne kijavítani.
2017. ápr. 16. 22:00
 3/20 anonim ***** válasza:

Olyan érteket akarsz számmá konvertálni valahol, ami nem szám.

Betű vagy whitespace vagy bármi mást.

Debuggold amikor feljön az exception.

2017. ápr. 16. 22:06
Hasznos számodra ez a válasz?
 4/20 A kérdező kommentje:

Nem vagyok e téren nagyon toppon

"Debuggold amikor feljön az exception." mit jelentene?

2017. ápr. 16. 22:11
 5/20 anonim ***** válasza:
Szerintem a "hibaüzenetre" gondol.
2017. ápr. 16. 22:16
Hasznos számodra ez a válasz?
 6/20 anonim ***** válasza:
Minek kell akkor neked az emelt infó érettségi, ha ilyen alap szinten sem tudsz programozni?
2017. ápr. 16. 22:51
Hasznos számodra ez a válasz?
 7/20 A kérdező kommentje:

Próbálkozok..

De akkor mindegy akkor.

2017. ápr. 16. 22:58
 8/20 A kérdező kommentje:

Megcsináltam így is :

int k = 0 ;

while (olvas.EndOfStream == false)

{

kihuzott.Add((olvas.ReadLine()));


string[] sor = olvas.ReadLine().Split(' ');

matrixban[k, 0] = Convert.ToInt32(sor[0]);

matrixban[k, 1] = Convert.ToInt32(sor[1]);

matrixban[k, 2] = Convert.ToInt32(sor[2]);

matrixban[k, 3] = Convert.ToInt32(sor[3]);

matrixban[k, 4] = Convert.ToInt32(sor[4]);

k++;


}

olvas.Close();



De megint az a hiba

De most amúgy hogy kellene akkor meg oldani?

(azért kérdezgetek mert nincs kitől és remélem itt választ kapok kérdéseimre, nyugodtan lehet részletesen magyarázni, aki nem akar az ne írjon nem akarok kötekedő üzenetekt )

2017. ápr. 16. 23:10
 9/20 SimkoL ***** válasza:

kihuzott.Add(olvas.ReadLine()); A mutatót itt már elmozgattad egy sorral, tehát a következő 'olvas.ReadLine()...' a második sorral kezd - for ciklus - . Mivel a file 51 soros...

Dolgozd át az egészet, vagy csak a while vagy csak for, felesleges mindkettő és szerintem teljesen felesleges egy listába tenni a heti számokat, a mátrixból is lehet kiválóan dolgozni.

2017. ápr. 16. 23:15
Hasznos számodra ez a válasz?
 10/20 SimkoL ***** válasza:

Nem lett volna megvetendő gondolat, ha belinkeled a feladatot: [link]

Nagyon nehéz lesz neked az az érettségi :)

2017. ápr. 16. 23:17
Hasznos számodra ez a válasz?
1 2

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!