Compare commits

...

14 Commits

Author SHA1 Message Date
Tim Tersch
36d92f1b9b generateFibonacci 2020-08-27 11:01:13 +02:00
Tim Tersch
6aa09fd366 generateFibonacci 2020-08-27 11:00:59 +02:00
Tim Tersch
4a0ada84ac reverse 2020-08-27 11:00:49 +02:00
Tim Tersch
467b773802 prefix 2020-08-27 11:00:44 +02:00
Tim Tersch
661ed3e4ae join 2020-08-27 11:00:34 +02:00
Tim Tersch
cb64adb6ee concat 2020-08-27 11:00:24 +02:00
Tim Tersch
901cce78cf xor 2020-08-27 11:00:05 +02:00
Tim Tersch
68f0f575b6 or 2020-08-27 11:00:00 +02:00
Tim Tersch
18a1201ec5 and 2020-08-27 10:59:56 +02:00
Tim Tersch
24bdbc7e01 average 2020-08-27 10:59:49 +02:00
Tim Tersch
8f735d4b9f sum 2020-08-27 10:59:41 +02:00
Tim Tersch
cb25a9c820 max 2020-08-27 10:59:35 +02:00
Tim Tersch
bed254d9a4 generateStringArray 2020-08-27 10:59:22 +02:00
Tim Tersch
a221b1126d generateIntArray 2020-08-27 10:55:37 +02:00

View File

@@ -39,7 +39,17 @@ public class Arrays {
* @see #getRandomInt(int, int) * @see #getRandomInt(int, int)
*/ */
public int[] generateIntArray( int pNumberOfElements, int pMin, int pMax ) { public int[] generateIntArray( int pNumberOfElements, int pMin, int pMax ) {
return null;
if (pNumberOfElements < 0) {
return new int[0];
}
int[] arr = new int[pNumberOfElements];
for (int i = 0; i < arr.length; i++) {
arr[i] = getRandomInt(pMin, pMax);
}
return arr;
} }
/** /**
@@ -58,7 +68,14 @@ public class Arrays {
* dann wird ein leeres Array zurück gegeben. * dann wird ein leeres Array zurück gegeben.
*/ */
public String[] generateStringArray( int pNumberOfElements ) { public String[] generateStringArray( int pNumberOfElements ) {
return null; if (pNumberOfElements < 0) {
return new String[0];
}
String[] arr = new String[pNumberOfElements];
for (int i = 0; i < arr.length; i++) {
arr[i] = "String " + i;
}
return arr;
} }
/** /**
@@ -106,8 +123,17 @@ public class Arrays {
* Für ein leeres Array wird 0 zurück gegeben. * Für ein leeres Array wird 0 zurück gegeben.
*/ */
public int max( int[] pArray ) { public int max( int[] pArray ) {
if (pArray == null || pArray.length == 0) {
return 0; return 0;
} }
int max = pArray[0];
for (int i = 0 ; i < pArray.length; i++) {
if (pArray[i] > max) {
max = pArray[i];
}
}
return max;
}
/** /**
* Berechnet die Summe aller Elemente in * Berechnet die Summe aller Elemente in
@@ -116,8 +142,15 @@ public class Arrays {
* Für ein leeres Array wird 0 zurück gegeben. * Für ein leeres Array wird 0 zurück gegeben.
*/ */
public int sum( int[] pArray ) { public int sum( int[] pArray ) {
if (pArray == null || pArray.length == 0) {
return 0; return 0;
} }
int sum = 0;
for (int i : pArray) {
sum += i;
}
return sum;
}
/** /**
* Berechnet den Mittelwert (average) eines * Berechnet den Mittelwert (average) eines
@@ -126,8 +159,11 @@ public class Arrays {
* Für ein leeres Array wird 0 zurück gegeben. * Für ein leeres Array wird 0 zurück gegeben.
*/ */
public double avg( int[] pArray ) { public double avg( int[] pArray ) {
if (pArray == null || pArray.length == 0) {
return 0; return 0;
} }
return sum(pArray) / pArray.length;
}
/** /**
* Prüft, ob <b>alle</b> Elemente in einem Array von * Prüft, ob <b>alle</b> Elemente in einem Array von
@@ -137,6 +173,14 @@ public class Arrays {
* Für ein leeres Array wird <code>false<code> zurück gegeben. * Für ein leeres Array wird <code>false<code> zurück gegeben.
*/ */
public boolean and( boolean[] pArray ) { public boolean and( boolean[] pArray ) {
if (pArray == null || pArray.length == 0) {
return false;
}
for (boolean b : pArray) {
if (!b) {
return false;
}
}
return true; return true;
} }
@@ -148,8 +192,16 @@ public class Arrays {
* Für ein leeres Array wird <code>false<code> zurück gegeben. * Für ein leeres Array wird <code>false<code> zurück gegeben.
*/ */
public boolean or( boolean[] pArray ) { public boolean or( boolean[] pArray ) {
if (pArray == null || pArray.length == 0) {
return false;
}
for (boolean b : pArray) {
if (b) {
return true; return true;
} }
}
return false;
}
/** /**
* Prüft, ob <b>genau ein</b> Element in einem Array von * Prüft, ob <b>genau ein</b> Element in einem Array von
@@ -160,8 +212,20 @@ public class Arrays {
* Für ein leeres Array wird <code>false<code> zurück gegeben. * Für ein leeres Array wird <code>false<code> zurück gegeben.
*/ */
public boolean xor( boolean[] pArray ) { public boolean xor( boolean[] pArray ) {
if (pArray == null || pArray.length == 0) {
return false;
}
int numberOfTrue = 0;
for (boolean b : pArray) {
if (b) {
numberOfTrue++;
}
}
if (numberOfTrue == 1) {
return true; return true;
} }
return false;
}
/** /**
* Erzeugt aus einem String-Array einen neuen String, * Erzeugt aus einem String-Array einen neuen String,
@@ -176,8 +240,15 @@ public class Arrays {
* Für ein leeres Array wird ein leerer String zurück gegeben. * Für ein leeres Array wird ein leerer String zurück gegeben.
*/ */
public String concat( String[] pArray ) { public String concat( String[] pArray ) {
if (pArray == null || pArray.length == 0) {
return ""; return "";
} }
String str = "";
for (String s : pArray) {
str += s;
}
return str;
}
/** /**
* Erzeugt aus einem String-Array einen neuen String, * Erzeugt aus einem String-Array einen neuen String,
@@ -190,8 +261,18 @@ public class Arrays {
* Für ein leeres Array wird ein leerer String zurück gegeben. * Für ein leeres Array wird ein leerer String zurück gegeben.
*/ */
public String join( String[] pArray, String pSep ) { public String join( String[] pArray, String pSep ) {
if (pArray == null || pArray.length == 0) {
return ""; return "";
} }
String str = "";
for (int i = 0; i < pArray.length; i++) {
str += pArray[i];
if (i < pArray.length - 1) {
str += pSep;
}
}
return str;
}
/** /**
* Setzt vor jeden String im Array das Prefix <var>pPrefix</var> und gibt * Setzt vor jeden String im Array das Prefix <var>pPrefix</var> und gibt
@@ -201,7 +282,10 @@ public class Arrays {
* zum Beispiel <code>["+String 1","+String 2"]</code>. * zum Beispiel <code>["+String 1","+String 2"]</code>.
*/ */
public String[] prefix( String[] pArray, String pPrefix ) { public String[] prefix( String[] pArray, String pPrefix ) {
return null; for (int i = 0; i < pArray.length; i++) {
pArray[i] = pPrefix + pArray[i];
}
return pArray;
} }
/** /**
@@ -212,7 +296,11 @@ public class Arrays {
* <code>["String 2","String 1"]</code>. * <code>["String 2","String 1"]</code>.
*/ */
public String[] reverse( String[] pArray ) { public String[] reverse( String[] pArray ) {
return null; String[] rev = new String[pArray.length];
for (int i = 0; i < rev.length; i++) {
rev[rev.length - 1 - i] = pArray[i];
}
return rev;
} }
/** /**
@@ -226,8 +314,17 @@ public class Arrays {
* Für ein leeres Array wird 0 zurück gegeben. * Für ein leeres Array wird 0 zurück gegeben.
*/ */
public int over( int[] pArray, int pValue ) { public int over( int[] pArray, int pValue ) {
if (pArray == null || pArray.length == 0) {
return 0; return 0;
} }
int count = 0;
for (int i : pArray) {
if (i > pValue) {
count++;
}
}
return count;
}
/** /**
* Erstellt ein Integer-Array mit den ersten <var>pNumberOfElements</var> * Erstellt ein Integer-Array mit den ersten <var>pNumberOfElements</var>
@@ -241,7 +338,19 @@ public class Arrays {
* dann wird ein leeres Array zurück gegeben. * dann wird ein leeres Array zurück gegeben.
*/ */
public int[] generateFibonacci( int pNumberOfElements ) { public int[] generateFibonacci( int pNumberOfElements ) {
return null; if (pNumberOfElements <= 0) {
return new int[0];
}
int[] fibonacci = new int[pNumberOfElements];
fibonacci[0] = 1;
if (pNumberOfElements == 1) {
return fibonacci;
}
fibonacci[1] = 1;
for (int i = 2; i < fibonacci.length; i++) {
fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
}
return fibonacci;
} }