Kezdőoldal » Számítástechnika » Programozás » Mi lehet a probléma a c#...

Mi lehet a probléma a c# kódomban?

Figyelt kérdés

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace gyak2

{

class Program

{

static void Main(string[] args)

{

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


do

{

Console.WriteLine("Adja meg az ember nevét: ");


string ember = Console.ReadLine();


emberek.Add(ember);



}while(emberek[emberek.Count - 1] != "");


emberek.RemoveAt(emberek.Count - 1);


if (emberek.Count % 2 == 0)

{

Console.WriteLine("első: {0}, középső kettő: {1},{2}, utolsó: {3}", emberek[0], emberek.Count /2 -1, emberek.Count /2, emberek.Count -1 );

}

else

Console.WriteLine("első: {0}, középső: {1}, utolsó: {2}", emberek[0], emberek.Count / 2, emberek.Count - 1);


Console.ReadLine();



}

}

}


2018. nov. 17. 11:49
 1/8 anonim ***** válasza:
91%

-1. Tessék kódmegosztó oldalt használni - hastebin, pastebin, ghostbin,... - jobban áttekintehtőbbé teszi a kódot.

0. Amelyik könyvtárakra nincs feltétlenül szükség, azokat ne importáld be.

1. A fő problémát az okozza, hogy a kiíratásnál, a középső és az utolsó elemeknél nem magát az elemet írod ki, hanem az indexüket.


Szóval e helyett:

emberek.Count / 2 - 1,

emberek.Count / 2,

emberek.Count - 1


ez kéne

emberek[emberek.Count / 2 - 1],

emberek[emberek.Count / 2],

emberek[emberek.Count - 1]


Szóval:

[link]

2018. nov. 17. 12:25
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

"0. Amelyik könyvtárakra nincs feltétlenül szükség, azokat ne importáld be."


c#-ban ez nem okoz túl nagy gondot, kövérebb nem lesz az eredmény, csak a visual studio alapból rengeteg, gyakran használt dolgot importál be (persze egy kezdőnek mind1)


[link]


[link]

2018. nov. 17. 12:34
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

Az a baj, hogy fogalmad sincs, mit csinálsz.

Létrehozol egy LISTÁT!

Abba addig olvasol, míg a count-1edik tagja nem üres string akarna lenni. Segítek: stringet nem ellenőrzünk !=vel, hanem equals függvény.

Második hiba ugyanebben a sorban: Listát nem tudsz tömbösen indexelni, ilyen hogy emberek[akármennyi] nem használatos, mert totál veszélyes, főleg üres listára, hanem emberek.get(emberek.Count-1)

(újabb észrevétel közben, simán Count nem létezik, meg kell adni a scope-ját is).

És azon kívül is iszonyú ronda a kód...

2018. nov. 17. 19:59
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
76%

"Segítek: stringet nem ellenőrzünk !=vel, hanem equals függvény."

C# esetén nincs annyi különbség (Java-ban még csak-csak):

[link]


"Listát nem tudsz tömbösen indexelni"

De tudsz:

[link]


"újabb észrevétel közben, simán Count nem létezik"

De létezik:

[link]

2018. nov. 17. 20:18
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:

"Az a baj, hogy fogalmad sincs, mit csinálsz."

Ezen kommented alapján inkább neked nincs fogalmad, hogy mit csinálsz.


"Segítek: stringet nem ellenőrzünk !=vel, hanem equals függvény."

De ellenőrzünk, minden további nélkül.


"Listát nem tudsz tömbösen indexelni"

De, tud.


"ilyen hogy emberek[akármennyi] nem használatos, mert totál veszélyes, főleg üres listára, hanem emberek.get(emberek.Count-1)"

De, használatos és teljesen veszélytelen.


"simán Count nem létezik, meg kell adni a scope-ját is"

De, létezik.


"És azon kívül is iszonyú ronda a kód..."

Teljesen kezdőktől nem igazán értelmes elvárás, hogy gyönyörű kódot írjanak.

Ha figyelnek a változók értelmes elnevezésére, az már nagyon jó irány.

2018. nov. 17. 20:19
Hasznos számodra ez a válasz?
 6/8 tabaki ***** válasza:

„Teljesen kezdőktől nem igazán értelmes elvárás, hogy gyönyörű kódot írjanak.”

Aki ezenkívül még a Gyakorin is kezdő, az nem is tudja, hogy az oldal eltünteti az indentálást, és minden lezárt sor után egy üres újabbat szúr be, ezért nem könnyű megítélni, hogy a kód milyen lehetett eredeti formájában. Remélhetőleg legközelebb már kódmegosztó oldalon közli, a szépészeti megjegyzések maradjanak arra az időre.

2018. nov. 17. 21:05
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

Tudom jól, és nem is arra gondoltam tabaki.

Threading.Task namespace például mire kell?

Vagy mondhatom azt is, hogy előbb bepakol egy listába, és csak utána ellenőrzi, és törli... (de hogy konstruktív is legyek): a do-ba mehetne:

if("".Equals(ember) )

break;

Ez sem olyan szép, de még mindig jobb, mint utólag törölgetni.

2018. nov. 17. 21:19
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:

if("".Equals(ember) )

Ilyen javás behányásokkal ne égesd már magad plez.

2018. nov. 17. 21:52
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!