Såhär kanske
public class Overtid
{
private int overtid=0;
public void setOvertid(int overtid)
{
this.overtid+=overtid;
}
public int getOvertid()
{
return(overtid);
}
}
/Viktor
6 svar · 205 visningar · startad av tovelainen
Hallå
jag gör en program där en av metoderna ska hålla redan på övertid som ökas hela tiden.
Övertidstimmarna skickas till setOvertid.
De nya värdena vill jag ska läggas till de gamla.
Vid något tillfälle kommer slutsumman att anropas via getOvertid.
Hur många tal som ska läsas in och plussas till, kan va olika.
Nån som vet hur man gör?
void setOvertid(int over) {
o = over + over;
}
int getOvertid() {
return o;
}
Såhär kanske
public class Overtid
{
private int overtid=0;
public void setOvertid(int overtid)
{
this.overtid+=overtid;
}
public int getOvertid()
{
return(overtid);
}
}
/Viktor
tack för svaret.
nej det tycks inte funka. Det blir hela tiden så att bara det senaste värdet finns kvar i overtid. om tex den senaste summan som skulle läggas till overtid är 15, så är det jag får ut 30. Dvs ständigt det dubbla av senaste värdet.
Fler förslag?
Såhär ser den delen ut:
--------------------------------------------
public void beraknaLon(int timmar, int timlön,String namn) {
if (timmar + getFörraveckan() > 110){
System.out.println("xxx " + namn +
" har minst 30 timmars övertid de 2 senaste veckorna!");}
over = timmar - 40;
setOvertid(over);
n = (40 \* timlön) + (timmar - 40) \* (1.5)\*timlön;
System.out.println(namn + " har tjänat " + n + " kr under veckan ");
}
void setOvertid(int over) {
this.over+=over;
}
int getOvertid() {
return over;
}
--------------------------------------------
over = timmar - 40;
Här sätter du den globala variabeln over till timmar-40, sedan skickar du detta till funktionen setOvertid som sedan använder samma variabel för att spara tiden,
void setOvertid(int over) {
this.over+=over;
}
En bättre lösning vore något som detta,
[B]private int over=0;[/B]
public void beraknaLon(int timmar, int timlön,String namn)
{
if (timmar + getFörraveckan() > 110)
{
System.out.println("xxx " + namn +" har minst 30 timmars övertid de 2 senaste veckorna!");
}
setOvertid(timmar - 40);
n = (40 * timlön) + (timmar - 40) * (1.5)*timlön;
System.out.println(namn + " har tjänat " + n + " kr under veckan ");
}
void setOvertid(int over)
{
this.over+=over;
}
int getOvertid()
{
return over;
}
/Viktor
suveränt!!
Super-mycket tack!
Funkar fint nu.
Hej hej från Tove