Új hozzászólás Aktív témák
-
Lortech
addikt
Azért hogy aztán vissza kelljen alakítani.
_seth_:
N int típusú, TextLength is, mivel egy szám / érték, ezért ToStringezni nem kell.
Propertyket (TextLength) felesleges eltárolni külön ilyen esetben, csak egyszer hívod.. Írd be nyugodtan a forba. De ha nagyon biztos programot akarsz írni, akkor az egész textBox1 stringet tárold el egy segédváltozóban, és annak írd be a ciklusba a hosszát.
str = char.Parse(...) ??? Mit akarsz ezen parsolni? Eleve a típus.parse típust ad vissza, itt char-t (egy darabot!), tehát ha minden áron le akarod parsolni charra, akkor kéne egy ciklus, ahol végigmész a string indexein egyenként, figyelve arra, hogy ne ilyen nulla hosszúságú a string, mert akkor kivétel.. De nem tudom elképzelni, hogy mi értelme van ennek.
A db változót nem árt nullázni, mert a második számolásnál már nem fog helyes értéket adni, mert az előző eredménye benne van, és azt növeled.
Ez a ciklus.. Minek mész végig 0..N, ha fel sem használod az indexet, és minden iterációnál ugyanazt csinálod?
Az i változót ne így deklaráld, mert könnyen hibákhoz és félreértésekhez vezethet.. Egy segédváltozó ritkán jó, ha az osztály mezője, tartozzanak az adott scopehoz, ott legyenek deklarálva.
pl itt: for (int i=0;...) {} Ez vonatkozik az str-re, N-re is, és vsz a db-re, mert csak egy ellenőrzésre kell vagy tájékoztatásra kell, nem az osztályhoz tartozik szorosan, és nem kell megőrizni sem. Ez nem pascal.
Ha csak a kisbetűs magánhangzókat akarod beleírni a switchbe, akkor célszerű a stringet ToLower-rel csupa kisbetűssé alakítani, hogy nagybetűs magánhangzókra is menjen, pl: string str = textBox1.Text.ToLower();
A ''számol'' gombra kattintás eseménykezelője kb így nézne ki sztem, ha a te kódodból indulok ki:
private void button1_Click(object sender, EventArgs e)
{
db = 0;
string str = textBox1.Text.ToLower();
for (int j = 0; j < str.Length; j++)
{
switch (str[j])
{
case 'a': db++; break;
case 'e': db++; break;
case 'i': db++; break;
case 'o': db++; break;
case 'u': db++; break;
}
}
MessageBox.Show(db.ToString());
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- GAMER PC : RYZEN 5 4500 / 16GB DDR4 / ASUS RX 480 8GB / WiFi / Bluetooth / 512GB M.2 SSD / 500GB HDD
- Dell Latitude 7390, 13,3" FHD IPS , I5-7300U CPU, 16GB DDR4, 512GB SSD, WIN 11, ( olvasd végig )
- Acer PREDATOR HELIOS NEO 16 / i9-14900HX / RTX 4070 (140W) / 1 TB SSD / 240HZ
- Topping A70 Pro fejhallgató erősítő
- Topping D70 Pro Octo DAC
- AKCIÓ! Lenovo Legion Slim 5 16AHP9 notebook - R7 8845HS 16GB RAM 512GB SSD RTX 4060 8GB Win11
- AKCIÓ! Gigabyte H510M i5 10400F 16GB DDR4 512GB SSD GTX 1080Ti 11GB Rampage SHIVA Zalman 600W
- Csere-Beszámítás! RTX Számítógép PC Játékra! R5 8400F / RTX 3070Ti / 32GB DDR5 / 1TB SSD
- BESZÁMÍTÁS! MSI B450M R7 2700X 32GB DDR4 512GB SSD RTX 3050 8GB Rampage SHIVA Thermaltake 500W
- Bomba ár! Dell Latitude 5495 - Ryzen 5 I 16GB I 256SSD I 14" FHD I HDMI I Radeon I Cam I W10 I Gari!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest