Itt mi a hiba? (C#)
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.
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.
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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!