Lektion 05 - Metoder

Så har man läst en hel del om metoder och det var ju inte så himla mycket nytt egentligen.
Men nu har jag lekt en massa med det hela och första lektionen var då:

Skriv ett program som från konsolen möjliggör input av 2-4 tal som är kommaseparerade.
Skriv sedan tre statiska metoder, som alla har samma namn, som tar 2, 3 respektive 4 parametrar in och som returnerar summan av dessa (addera) och skriv sedan ut summan till användaren.
Anger användaren 2,2 (2 värden) så skall metoden med 2 parametrar anropas osv.

En lösning som jag fick lite hjälp med dock men som funkar riktigt ok är följande.

Program.cs

Console.Write("Ange 2-4 värden som är kommaseparerade (ex. 3,8,2,1): ");
string input = Convert.ToString(Console.ReadLine());
Console.WriteLine("Det värde du matade in är: \n");
Console.Write(input + "\n\n");
Console.Write("Vänligen vänta så anropar vi rätt metod........\n");

string output = FredrikBLL.BLL.Functions.myValuesMain(input);

Console.WriteLine("Resultatet:\n" + Convert.ToString(output));
Console.ReadLine();


Functions.cs

/// <summary>
/// HuvudMetonden som kommer att anropa under metoder beroende på antalet angivna värden med kommaseparationer.
/// </summary>
/// <param name="value1">Parameter 1 / Tal 1</param>
/// <param name="value2">Parameter 2 / Tal 2</param>
/// <param name="value3">Parameter 3 / Tal 3</param>
/// <param name="value4">Parameter 4 / tal 4</param>
/// <returns>Returnerar vilken metod som returnerar ett svar.</returns>
public static string myValuesMain(string input)
{
string output = "";
string[] inArray = input.Split(new char[] { ',' });

if (inArray.Length == 2)
{
string returnvalue = myValues(Convert.ToInt32(inArray[0]), Convert.ToInt32(inArray[1]));
return returnvalue;
}

else if (inArray.Length == 3)
{
string returnvalue = myValues(Convert.ToInt32(inArray[0]), Convert.ToInt32(inArray[1]), Convert.ToInt32(inArray[2]));
return returnvalue;
}

else if (inArray.Length == 4)
{
string returnvalue = myValues(Convert.ToInt32(inArray[0]), Convert.ToInt32(inArray[1]), Convert.ToInt32(inArray[2]), Convert.ToInt32(inArray[3]));
return returnvalue;
}
else
{
return output = "Hittade inget passande";

}

}

public static string myValues(int value1, int value2)
{
int returnvalue = Convert.ToInt32(value1 + value2);
return Convert.ToString("Metod med 2 värden anropades.\nSumman av " + value1 + "+" + value2 + "=" + returnvalue);
}

public static string myValues(int value1, int value2, int value3)
{
int returnvalue = Convert.ToInt32(value1 + value2 + value3);
return Convert.ToString("Metod med 3 värden anropades.\nSumman av " + value1 + "+" + value2 + "+" + value3 + "=" + returnvalue);
}

public static string myValues(int value1, int value2, int value3, int value4)
{
int returnvalue = Convert.ToInt32(value1 + value2 + value3 + value4);
return Convert.ToString("Metod med 4 värden anropades.\nSumman av " + value1 + "+" + value2 + "+" + value3 + "+" + value4 + "=" + returnvalue);
}


Exempel:

Ange 2-4 värden som är kommaseparerade (ex. 3,8,2,1): 2,3,5,9
Det värde du matade in är:

2,3,5,9

Vänligen vänta så anropar vi rätt metod........
Resultatet:
Metod med 4 värden anropades.
Summan av 2+3+5+9=19

Kommentarer

Kommentera inlägget här:

Namn:
Kom ihåg mig?

E-postadress: (publiceras ej)

URL/Bloggadress:

Kommentar:

Trackback
RSS 2.0