Kezdőoldal » Számítástechnika » Programozás » Itt mi a hiba? (C#)

Itt mi a hiba? (C#)

Figyelt kérdés

A feladat: képzelj el egy nokia 3310-est. A számokon voltak a betűk (2-től 9-ig). A feladat, hogy bekérjünk egy szót és a program kiírja, hogy hányas gombokon találhatóak a szó betűi. (pl. az "ablak" esetén a 22525-öt kéne kiírja, mert az a, b betűk a 2-es gombon találhatók, az l, k pedig az 5-ösön)


public static void kettesfeladat()

{

StreamReader h = new StreamReader("D:\\Vizsga\\e_infoforras_07maj_fl\\Forrasok\\4_SMS_szavak\\abc.txt"); //ennek a fájlnak az első sorában található az "a b c", második sorában a "d e f", stb. Vagyis az "a" a programnak a nulladik sorban van, de a telefonon az "a" a kettes gombon van

Console.Write("Kerek egy szot: ");

string s = Console.ReadLine();

char[] kar = s.ToCharArray();

int k = 0;

string c = null;



for (int i = 0; i < kar.Length; i++)

{

for (int j = 0; j < 8; j++)

{

c = h.ReadLine();

if (c.Contains(kar[i]))

{

k = j + 2; //hogyha az "a"-t megtalálta a nulladik sorban, akkor az nekünk a kettes gombon van

Console.Write(k);

}

}

}


}


Ez a hibaüzenet:


"A first chance exception of type 'System.ArgumentNullException' occurred in System.Core.dll

An unhandled exception of type 'System.ArgumentNullException' occurred in System.Core.dll

Additional information: Value cannot be null."


Itt akad el: "if (c.Contains(kar[i]))"


A szó legelső betűjének a telefonon elfoglalt helyét minden esetben megtalálja. A másodiknál jön ez a hibaüzenet. Előre is köszi a válaszokat.


2017. febr. 17. 03:03
 1/9 A kérdező kommentje:
Nem hittem volna, hogy ez ilyen nehez kerdes :D
2017. febr. 17. 17:28
 2/9 anonim ***** válasza:

Nem a kérdés nehéz, hanem tragikus a kód, senkinek nincs kedve túrni.

Valamit elszúrtál a beolvasásnál és nullt ad vissza a readline.

2017. febr. 17. 19:22
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:
Mi ebben a tragikus? :)
2017. febr. 17. 20:14
 4/9 anonim ***** válasza:
Szervezetlen kód, semmitmondó változónevek, nyakatekert logika.
2017. febr. 17. 23:37
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:
Melyik változó nem érthető? :)
2017. febr. 17. 23:51
 6/9 anonim ***** válasza:

Ez az oldal kódmegosztásra teljesen alkalmatlan, használj pl pastebin-t. A tabok nélküli kódoktól eltiltott az orvosom.

A c\h\k változónevek valóban nem túl beszédesek.

2017. febr. 18. 01:25
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
Mit szeretnél a c = h.ReadLine() -nál. Mit is csinálsz itt pontosan? Biztos hogy van ennyi sor abban a fájlban??? Ha nincs akkor a SteamReader null-t ad vissza? Ha igen akkor null-ra megkérdezni hogy tartalmaz-e valamit nem a legjobb ötlet nem? :) Ezeket nézd meg. A fordító megmondta mi a baj és hol van, nem tart sokból leellenőrzni, kipróbálgatni 1 sor kódot. Majd írd be mi volt a gond ... :)
2017. febr. 18. 01:31
Hasznos számodra ez a válasz?
 8/9 A kérdező kommentje:
Köszi.
2017. febr. 18. 02:57
 9/9 anonim ***** válasza:
talált? hetes vagyok. :)
2017. febr. 18. 10:24
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!