Hallo,
ich bin derzeit mit einer Aufgabe beschäftigt, die so lautet:
Schreiben Sie ein Java-Programm MyThread.java, das die Summe aller Zahlen eines vorgegebenen int-Arrays mit Hilfe von zwei Threads berechnet. Dazu wird das Array jeweils zur Hälfte auf die beiden Threads verteilt. Jeder Thread berechnet seinen Bereich für sich. Nach Beendigung der Threads soll das Hauptprogramm die Ergebnisse aus dem Objekt lesen, die Summe berechnen und das Ergebnis ausgeben.
Mein derzeitiger Stand:
Erstellen Sie eine Klasse ArrayCalc (ArrayCalc.java), die die Berechnung für einen Teil des Arrays übernimmt!
Mein bisheriger Teil:
Ich habe gerade einfach das Problem, dass ich nicht weiß, wie ich diesen Int-Array im Konstruktor so übergebe, damit der vorgegebene Code "new ArrayCalc(a,0,6)" funktioniert.
ich bin derzeit mit einer Aufgabe beschäftigt, die so lautet:
Schreiben Sie ein Java-Programm MyThread.java, das die Summe aller Zahlen eines vorgegebenen int-Arrays mit Hilfe von zwei Threads berechnet. Dazu wird das Array jeweils zur Hälfte auf die beiden Threads verteilt. Jeder Thread berechnet seinen Bereich für sich. Nach Beendigung der Threads soll das Hauptprogramm die Ergebnisse aus dem Objekt lesen, die Summe berechnen und das Ergebnis ausgeben.
Mein derzeitiger Stand:
Code:
//Bis "a1.start()" war es vorgegeben!
public class MyThread {
public static void main(String[] args) {
int[] a={1,2,3,4,5,6,7,8,9,10};
ArrayCalc a1 = new ArrayCalc(a,0,6);
ArrayCalc a2 = new ArrayCalc(a,7,9);
a1.start();
a2.start();
try {
a1.join();
a2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Summe: "+(a1.getSumme()+a2.getSumme()));
}
}
Erstellen Sie eine Klasse ArrayCalc (ArrayCalc.java), die die Berechnung für einen Teil des Arrays übernimmt!
Mein bisheriger Teil:
Ich habe gerade einfach das Problem, dass ich nicht weiß, wie ich diesen Int-Array im Konstruktor so übergebe, damit der vorgegebene Code "new ArrayCalc(a,0,6)" funktioniert.
Code:
public class ArrayCalc extends Thread {
int[] a = {1,2,3,4,5,6,7,8,9,10};
public ArrayCalc(int a[]) {
this.a = a;
}
public void run() {
}
public int getSumme(int result) {
result = 0;
for(int i : a) {
result += i;
}
return result;
}
}