Hello again,
I made an code for one task of the exam.
But it is not 100% correct.
Can sameone give me an hint to make this code better?
This is the task in the exam ( it is in german);
Schreiben Sie zwei Funktionen: produkt() und gameOver().
produkt() bekommt einen Array von int-Zahlen übergeben und gibt das Produkt der Zahlen
(Multiplikation) zurück. Zum Beispiel resultiert {1, 2, 3} in 1 * 2 * 3, also 6.
gameOver() bekommt einen Namen (String) und eine Zahl (int) übergeben und gibt einen String zurück.
Wenn die Zahl 0 ist, soll sie "You lose, NAME" zurückgeben, bei 1 "You win, NAME" und bei 2 "Take a
break, NAME".
Testen Sie Ihre Funktionen mit folgendem Code (verwenden Sie keine globalen Variablen!)
void setup() {
int[] a1 = {1, 2, 3};
int[] a2 = {5, -5, 4};
println(produkt(a1));
println(produkt (a2));
println(gameOver("Mike", 1));
println(gameOver("Doris", 0));
println(gameOver("Mike", 2));
}
Im Test sollte ausgegeben werden:
6-
100
You win, Mike
You lose, Doris
Take a break, Mike
Now this is my Code which I am not happy because if I run it it is not the correct answer what the professor expects from me:
void setup ()
{
int []a1 = {1, 2, 3};
int []a2 = {5, -5, 4};
println(produkt(a1));
println(produkt(a2));
println(gameOver("Mike", 1));
println(gameOver("Doris", 0));
println(gameOver("Mike", 2));
}
int produkt (int[] n)
{
int res = 20;
for (int i =0; i < n.length; i++)
{
res = n[0] * n[1] * n[2] ;
}
return res;
}
String gameOver (String p, int n)
{
if (n == 0)
{
println("You lose, " + p);
}
if (n == 1)
{
println("You win, " + p);
}
if (n == 2)
{
println("Take a break, " + p);
}
return p;
}
The problem in the produkt-Code ist the res = n[i] thing.
But I dont know how I must write it correct.
I know that the i needs to be multyplied but how?
The second problem ist the problem in the gameOver code.
If I run it the console writes the name twice.
How I can solve this problem?
Do I need an for loop and need to make an array?