Zdravim, potreboval by som pomoct s vlaknami v jave(ak nieje nieco lepsie na moj problem), som uplny zaciatocnik, a nejak som neprisiel nato ako ich pouzit v mojom pripade.
Kód:
public class Stroj {
int naklad = 0;
int nosnost;
boolean plny = false;
public int naloz(int n, Hlina h){
if ((naklad +n )<= nosnost)
{
naklad = naklad + n;
h.kopHlinu(n);
}
else
{
plny = true;
int a = nosnost-naklad;
naklad = naklad + (a);
plny = true;
h.kopHlinu(a);
}
}
Kód:
public class Kamion extends Stroj{
int nosnost = 100;
int naklad = 0;
public int naloz(int n, Hlina h){
if ((naklad +n )<= nosnost)
{
naklad = naklad + n;
h.kopHlinu(n);
}
else
{
plny = true;
int a = nosnost-naklad;
naklad = naklad + a;
plny = true;
h.kopHlinu(a);
}
if (naklad == nosnost)
{
plny = true;
}
System.out.println("Naklad: " + naklad + " plny = " + plny);
}
}
Kód:
public class pracovnyDen {
public static void main(String[] args) {
Hlina hlina = new Hlina();
Stroj stroj[] = new Stroj[2];
for (int n=0; n<2; n++ ){
stroj[n] = new Kamion();
}
for (int i=0; i<20; i++ ){
robotnik[i] = new Robotnik();
}
int j = 0;
for (int i=0; i<20; i++){
robotnik[i].pracuj(hlina, stroj[j]);
if (stroj[j].plny == true)
{
//Tuto niekde by som chcel zavolat funkciu, ktora stroj[j].plny zmeni na false, ale zaroven bude tento for pokracovat.
j++;
if (j >= 2)
{
j=0;
}
}
}
}
Snad to z tohoto niekto pochopi, cize mam triedu Kamion, ktory ma nejaku nosnost. Tam donho sa akoze naklada a ak je stroj[0] plny prejde sa na stroj[1]. A takto stale dokola. chcel by som spravit, ze akonahle bude stroj[0] plny = true. tak by proste program isiel dalej na stroj[1], ale zaroven by bola nejaka funkcia so spomalenim, po ktorom by sa nastavila hodnota plny = false. Alebo ak sa to da aj nejak inac bez delay-u. Cize program by bezal, postupne by sa tie Kamiony akoze zaplnali, ale zaroven, by sa od zaciatku 0 1 .... vyprazdnovali tj. plny by sa zmenilo na false.
Niekto kto by vedel, ako to tam pouzit?
Dakujem