Hallo zusammen,
ich habe eine Aufgabe für mein Fernstudium und bin leider (vor allem Dank der absolut mangelhaften Studienhefte) völlig ratlos. Könnte mir jemand einen kleinen Tipp geben was an diesem Code falsch ist?
Es sind 3 Fehler im Code, 2 habe ich denke ich gefunden, siehe Kommentare.
Das Programm soll Zehn x/y Punkte zufällig erzeugen und vergleichen. erst wird der y-wert von 2 Punkten verglichen, falls diese gleich sind der x-wert. Dann sollen die Punkte vor und nach Sortierung auf der Konsole ausgegeben werden.
Beim Ausführen bekomme ich 10 Punkte mit x,y Werten in der Konsole aber unsortiert, dann den Fehler :
"Ein Ausnahmefehler des Typs "System.InvalidOperationException" ist in mscorlib.dll aufgetreten.
Zusätzliche Informationen: Fehler beim Vergleichen von zwei Elementen im Array."
ich habe eine Aufgabe für mein Fernstudium und bin leider (vor allem Dank der absolut mangelhaften Studienhefte) völlig ratlos. Könnte mir jemand einen kleinen Tipp geben was an diesem Code falsch ist?
Es sind 3 Fehler im Code, 2 habe ich denke ich gefunden, siehe Kommentare.
Das Programm soll Zehn x/y Punkte zufällig erzeugen und vergleichen. erst wird der y-wert von 2 Punkten verglichen, falls diese gleich sind der x-wert. Dann sollen die Punkte vor und nach Sortierung auf der Konsole ausgegeben werden.
Beim Ausführen bekomme ich 10 Punkte mit x,y Werten in der Konsole aber unsortiert, dann den Fehler :
"Ein Ausnahmefehler des Typs "System.InvalidOperationException" ist in mscorlib.dll aufgetreten.
Zusätzliche Informationen: Fehler beim Vergleichen von zwei Elementen im Array."
C#:
using System;
using System.Collections;
public class Point
{
public int x;
public int y;
public Point(int x, int y)
{
this.x = x; // 1: this
this.y = y;
}
public override string ToString() // 2: override
{
return x + "," + y;
}
}
public class ArrayListTest
{
public static void Main(string[] args)
{
ArrayList AL = new ArrayList();
Random R = new Random();
for (int i = 0; i < 10; i++)
{
Point p = new Point(R.Next(50), R.Next(50));
AL.Add(p);
}
PrintValues(AL);
AL.Sort();
PrintValues(AL);
}
public static void PrintValues(IEnumerable myList)
{
foreach (Object obj in myList)
Console.WriteLine("{0}", obj);
Console.WriteLine();
}
}