felhantering
Den här koden tillåter användaren att skriva in ett antal siffror, som läggs till i en lista. Programmet räknar sedan ut ett medelvärde baserat på siffrorna användaren har skrivit in, presenterar resultatet, och avslutas.
Det finns 5 allvarliga fel med den här koden, som gör att programmet inte ens kan starta.
det är en bild som innehåller fem fel.
Jag gjorde några ändringar, men jag upptäckte inte de återstående felen.
Jag behöver hjälp med att hitta fel
static void Main(string[] args)
{
int resultat, summa, sum;
Console.WriteLine("Hur många vill du hantera?");
Int32.TryParse(Console.ReadLine(), out resultat);
List<int> intLista = new List<int>();
for (int loop = 0; loop < resultat; loop++)
{
Console.WriteLine("Var god skriv in en siffra:");
Int32.TryParse(Console.ReadLine(), out sum);
intLista.Add(sum);
}
if (intLista.Count == 0)
{
Console.WriteLine("Ingenting har lagts till!");
Console.ReadLine();
}
else
{
summa = Medelvärde(intLista);
Console.WriteLine("Medelvärdet är: " + summa);
Console.ReadLine();
}
Hur vet du att det är specifikt 5 fel?
Kan du berätta vad koden gör rad för rad?
Du verkar också använda ha följande funktion som inte visas i koden:
public static int Medelvärde (....)
{
}
Dracaena skrev:Hur vet du att det är specifikt 5 fel?
Kan du berätta vad koden gör rad för rad?
Du verkar också använda ha följande funktion som inte visas i koden:public static int Medelvärde (....) { }
@Dracaena
Jag tror han får sina 5 fel då han förmodligen använder sig av Visual Studio. Har kopierat hans kod och har själv fått 5 syntax-fel i programmet.
@Adam1989
Det första felet som du gjorde är att du glömde stänga din main med en } vid slutet. Det eliminerar felen, då om det ej stängs så kommer programmet ej kunna heller kompilera då ordet "List" blir odefinierad, och programmet förstår ej vad den innebär. De resterande 2 felen, på rad 4 och rad 40 är orelaterade till de första problemen. Den första på rad 4 indikerar att du använder förmodligen en äldre version av C#, då det krävs att du uppdaterar det till version 9 eller senare. Du försöker använda dig av en funktion som implementerades i C# version 9, dvs Top-Level statements. För mer information hittar du detta på Microsoft's sida angående C# version 9 och top-level statements: https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/program-structure/top-level-statements
Jag kunde fixa problemet genom att inkludera
class Program
i början av koden. Se till att din C# och VS är uppdaterad till minst version 9 och prova igen. Om problemet kvarstår, se svar ovan.
Alla problem har blivit lösta förutom den sista - då programmet ej känner igen "Medelvärde". Vad hade du tänkt dig att medelvärde ska föreställa? Jag skulle anta att den var menad att vara en slags method för att kalkylera medelvärdet av "intLista", men vill kolla med dig först.