• 1
  • 2
2011-11-16, 14:47
  #1
Medlem
SdermalmMllans avatar
Jag haller pa med en liten uppgift jag fatt och jag har ar helt ny inom Java och programmering.
Sa jag skulle behova lite tips

Jag vill konstruera ett program som raknar ut hur mycket man ska betala i skatt.

-Tjanar man 8900 eller mindre sa betalar man ingen skatt.
-tjanar man 8900 mellan 19870 betalar man 100kr i skatt.
-Tjanar man utover 19870 betalar man 100 kr i skatt + 20% av inkomsten over 19870.

Sa har langt har jag kommit:


import javax.swing.*;
public class Skatter {
public static void main(String[] arg) {
String s = JOptionPane.showInputDialog("Hur mycket tjanar du per manad?");
int lon = 8900;
if (lon <= 8900){
JOptionPane.showMessageDialog(null, "Du betalar ingen skatt");
}
else{
int skatt = 100;
int lon1 = 8900;
int lon2 = 19870;
if (skatt + lon1 > 8900 && skatt + lon2 < 19870);
JOptionPane.showMessageDialog(null,"Da betalar du");
}
else{

int lon2 = 19870;
int skatt = 100;
double proc = 0.20 * 19870;
if (proc + skatt + lon2 >= 19870);
JOptionPane.showMessageDialog(null, "Da betalar du ");
}


}

}

Behover halp for det star helt stilla for mig. Jag anvander Eclipse.

Mvh
Citera
2011-11-16, 15:01
  #2
Medlem
SdermalmMllans avatar
Jag vet att det ar lite fel i programmet redan men det ar inte latt nar man ar helt ny med detta!
Citera
2011-11-16, 15:10
  #3
Medlem
rjonssons avatar
Kod:
int skatt 100;
 
int lon1 8900;
 
int lon2 19870;
 if (
skatt lon1 8900 && skatt lon2 19870); 

om 9000 strre n 8900 och 19880 mindre n 19870

kommer aldrig att bli sant. Sedan ser jag inte att du anvnder inputen du fr av anvndaren.
Citera
2011-11-16, 15:15
  #4
Medlem
SdermalmMllans avatar
Jag har anvander fel logisk operator? || operator ar den ratta i detta sammanhang, eller?
Citera
2011-11-16, 15:27
  #5
Medlem
rjonssons avatar
Om du nvnder eller s kommer uttrycket alltid att bli sant. Det vill du inte.

Du anvnder hrdkodade vrde fr ln istllet fr det som anvndaren matar in.
Citera
2011-11-16, 15:33
  #6
Medlem
SdermalmMllans avatar
Citat:
Ursprungligen postat av rjonsson
Om du nvnder eller s kommer uttrycket alltid att bli sant. Det vill du inte.

Du anvnder hrdkodade vrde fr ln istllet fr det som anvndaren matar in.

Ursakta, men jag ar helt farsk och har svart att forsta vad du menar.

Sa vad ska jag gora for att detta ska funka? Ge tips om du/nagon annan pallar for, som sagt innan, har jag kort fast rejalt.

mvh
Citera
2011-11-16, 15:42
  #7
Medlem
rjonssons avatar
String s = JOptionPane.showInputDialog("Hur mycket tjanar du per manad?");

Du frgar vad anvndaren har fr ln. Detta mste du sedan anvnda fr att rkna ut skatt. Nu fr du ju visserligen lnen som en String s du mste frst gra om den till int.
Citera
2011-11-16, 15:45
  #8
Medlem
SdermalmMllans avatar
String s = JOptionPane.showInputDialog("Hur mycket tjanar du per manad?");

int lon = Integer.parseInt(s);


Nu borde det vara ratt dar val?
Citera
2011-11-16, 15:49
  #9
Medlem
SdermalmMllans avatar
Kor jag programmet nu hander detta:

Ruta ett: "Hur mycket tjanar du?" , jag matar in 7483 t.ex.

Ruta tva: "Du betalar ingen skatt" klickar

Ruta tre: "Da betalar du"

?
Citera
2011-11-16, 15:51
  #10
Medlem
SdermalmMllans avatar
Nu ar jag en bit pa vagen:

Matar jag in over 8900 sa kommer forst: "Da betalar du", fast tva ganger om
Citera
2011-11-16, 15:56
  #11
Medlem
rjonssons avatar
Bra, d r du en bit p vgen. Leta upp ngn bra guide fr debugging i eclipse s du lr dig stega igenom koden, d kommer du attt hitta varfr programmet inte beter sig som du vill. Finns skert en hel del p youtube om du hellre vill titta n att lsa.
Citera
2011-11-16, 16:00
  #12
Medlem
SdermalmMllans avatar
Det ska jag gora men forst ska jag sitta och forsoka sjalv lite. Tack for hjalpen!

mvh
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in