webForumDet fria alternativet

Knepigt i java.

11 svar · 1 187 visningar · startad av rikard81

rikard81Medlem sedan mars 2007311 inlägg
#1

Hittade en övning på nätet som jag klurar med, där man ska skriva ett program som ska användas av butik. Systemet ska räkna ut hur mycket man får tillbaks i olika valörer. Alltså i form av växel. Denna övning var för C++, men jag ska försöka lösa den med hjälp av Java. Valörerna i 100-50-20-5 och enkronor. Alltså växeln man får tillbaks i dom olika valörerna. Min kod såhär långt räknar ut hur mycket du totalt ska ha tillbaks. Hur ska jag koda vidare för att se antal i valörer.?

 
indata = showInputDialog("vad kostar varan?");
vara = Integer.parseInt(indata);

indata = showInputDialog("vad betalade kunden?");
nya = Integer.parseInt(indata);

summa = vara + betald;
rikard81Medlem sedan mars 2007311 inlägg
#2

Såg på ett forum att man kunde använda exempelvis detta.

h=x/100;
f=x/50;

Men vad menas egentligen med x%=100; ???

tydalMedlem sedan juni 20034 013 inlägg
#3

Tänk efter hur du själv skulle göra i samma situation. Du står i kassan, kunden ska betala 42 kronor och räcker dig en femhundring. Hur räknar du då ut hur många enkronor, femkronor, tjugor, femtilappar och hundringar du ska ge i växel?

tydalMedlem sedan juni 20034 013 inlägg
#4

% är resten vid en heltalsdivison.

Om h är en int och vi tar exemplet att x är 217 så kommer h = x /100 resultera i att h får värdet 2. (Innebär 2 hundralappar.)

x %= 100 betyder x = x % 100 och resulterar i att x blir resten när man delar x med 100, i vårt fall delar vi 217 med 100 och resten (x) blir då 17. (Dvs, det är 17 kronor kvar att ge i växel efter de två hundralapparna).

rikard81Medlem sedan mars 2007311 inlägg
#5

Aha ok. Tror jag fattar. Så alltså, vi använder int som betyder heltal, vilket gör att vi inte få några decimaler. Exempelvis h=217/100 vilket naturligtvis i heltal är 2 hundralappar tillbaks. Sen räknar den ut vad som blir kvar efter att ha delat ut dom två hundralapparna, vilket är 17 kr. Så räknar den på samma sätt när den delar 50 lapparna. När det är utdelat så räknar x%=50; ut hur mycket som är kvar när exempelvis 50-lapparna är utdelat. i detta fall 0 st 50-lappar. Har jag förstått någorlunda?

tydalMedlem sedan juni 20034 013 inlägg
#6

Ja, det låter som du har förstått.

rikard81Medlem sedan mars 2007311 inlägg
#7

En fråga bara. Varför skriver man: x%=100; ?
x, = och 100 förstår jag, Men vad gör %-tecknet?

tydalMedlem sedan juni 20034 013 inlägg
#8

% ger dig resten.

rikard81Medlem sedan mars 2007311 inlägg
#9

Men varför används %-tecknet? Det resterande är väl inte i procent?

tydalMedlem sedan juni 20034 013 inlägg
#10

Det betyder inte procent i C/C++/Java. Det betyder rest vid heltalsdivision.

rikard81Medlem sedan mars 2007311 inlägg
#11

Operator i java

Har sett att vissa använder sig av "n" i koden. Är detta nån slags operator och vad gör den för nytta. Bara nyfiken.

svar = "summering" + "n"

Vad betyder "n" ?

Edit: Ville inte starta en ny tråd för detta.

ercizMedlem sedan maj 20011 826 inlägg
#12

rikard81 skrev:

Har sett att vissa använder sig av "n" i koden. Är detta nån slags operator och vad gör den för nytta. Bara nyfiken.

svar = "summering" + "n"

Vad betyder "n" ?

Nej, det är bara ett vanligt variabelnamn.

124 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)