Programm Sozialversicherungsbeiträge HILFE !

WandaDuene

Mitglied
Hey ihr lieben ^^

ich soll folgendes machen :

Schrieben Sie ein Programm in Java bei dem für einen beliebigen Arbeinehmer die Arbeitnehmerbeiträge und die Arbeitgeberbeiträge zur Sozialversicherung berechnet und ausgegeben werden.

naja ich hab n bischen rumprobiert aber iwie werd ich daraus nich schlau ._.
ich muss verschiedene höhen von Bruttogehälter berücksichtigen Wohnort (da je nach budesland die % sätze anderst sind)
oder der wo das programm benutzt muss die % sätze selber eingeben
ich hab jetzt zwei halbfertige varianten und mow es nervt mich jetzt schon XD
und ich hab so ein blöden editor der des nicht ausgeben will oder mir fehler anzeigen ._.

vill habt ihr ein paar kreative ideen und ratschläge

hier meine zwei varianten

Java:
import java.io. * ;
import java.text. * ;


public class Sozialversicherungsbeiträge


{

   public static void main(String[] args)     throws IOException
   {



      DecimalFormat  df = new DecimalFormat (",##0.00");
      String str;
      double Bruttoendgeld, Arbeitslosenversicherung, Krankenversicherung, Pflegeversicherung, Rentenversicherung, Arbeitslosenversicherung2, Krankenversicherung2, Pflegeversicherung2, Rentenversicherung2, Prozentsatz1 = 0, Prozentsatz2 = 0, Prozentsatz3 = 0, Prozentsatz4 = 0, Prozentsatz5 = 0, Prozentsatz6 = 0, Prozentsatz7 = 0, Prozentsatz8 = 0;



      BufferedReader input = new BufferedReader
      (new InputStreamReader (System.in));

      System.out.print("Bruttoendgeld: ");
      str = input.readLine();
      Bruttoendgeld = Double.parseDouble(str);
      // Arbeitslosenversicherung 2, 8
      if (Bruttoendgeld == 5400)
      {
         Prozentsatz1 =      ;
      }
      else
      if (Bruttoendgeld = < 5400)
      {
         Prozentsatz1 =        ;
      }
      else
      if (Bruttoendgeld = > 5400)
      {
         Prozentsatz1 =      ;
      }



      // Krankenversicherung 15, 5
      if (Bruttoendgeld == 5400)
      {
         Prozentsatz2 =      ;
      }
      else
      if (Bruttoendgeld = < 5400)
      {
         Prozentsatz2 =        ;
      }
      else
      if (Bruttoendgeld = > 5400)
      {
         Prozentsatz2 =      ;
      }
      // Pflegeversicherung 1, 95
      if (Bruttoendgeld == 5400)
      {
         Prozentsatz3 =      ;
      }
      else
      if (Bruttoendgeld = < 5400)
      {
         Prozentsatz3 =        ;
      }
      else
      if (Bruttoendgeld = > 5400)
      {
         Prozentsatz3 =      ;
      }
      // Rentenversicherung 19, 9
      if (Bruttoendgeld == 5400)
      {
         Prozentsatz4 =      ;
      }
      else
      if (Bruttoendgeld = < 5400)
      {
         Prozentsatz4 =        ;
      }
      else
      if (Bruttoendgeld = > 5400)
      {
         Prozentsatz4 =      ;
      }




      //* Arbeitnehmerbeiträge


      Arbeitslosenversicherung = (Bruttoendgeld / 100) * Prozentsatz1
      Krankenversicherung = (Bruttoendgeld / 100) * Prozentsatz2
      Pflegeversicherung = (Bruttoendgeld / 100) * Prozentsatz3
      Rentenversicherung = (Bruttoendgeld / 100) * Prozentsatz4
      // Arbeitgeberbeiträge

      Arbeitslosenversicherung2 = (Bruttoendgeld / 100) * Prozentsatz5
      Krankenversicherung2 = (Bruttoendgeld / 100) * Prozentsatz6
      Pflegeversicherung2 = (Bruttoendgeld / 100) * Prozentsatz7
      Rentenversicherung2 = (Bruttoendgeld / 100) * Prozentsatz8

      // ausgabe


      System.out.println("bei einem Bruttoendgeld von: " + df.format(Bruttoendgeld) + " liegt der Arbeitnehmerbeitrag wie folgt vor:")
      System.out.println("Arbeitslosenversicherung: " + df.format(Arbeitslosenversicherung))
      System.out.println("Krankenversicherung: " + df.format(Krankenversicherung))
      System.out.println("Pflegeversicherung: " + df.format(Pflegeversicherung))
      System.out.println("Rentenversicherung: " + df.format(Rentenversicherung))
      System.out.println("die Arbeitgeberbeiträge liegen bei: ")
      System.out.println("Arbeitslosenversicherung: " + df.format(Arbeitslosenversicherung2))
      System.out.println("Krankenversicherung: " + df.format(Krankenversicherung2))
      System.out.println("Pflegeversicherung: " + df.format(Pflegeversicherung2))
      System.out.println("Rentenversicherung: " + df.format(Rentenversicherung2))










   }
}



Java:
import java.io.*;
import java.text.*;


public class Sozialversicherungsbeiträge


{

  public static void main(String[] args)     throws IOException
  {



            DecimalFormat  df= new DecimalFormat (",##0.00");
  String str;
  double Bruttoendgeld, Arbeitslosenversicherungsprozentsatz, Krankenversicherungsprozentsatz, Pflegeversicherungsprozentsatz, Rentenversicherungsprozentsatz;
  



  BufferedReader input= new BufferedReader
  (new InputStreamReader (System.in));

  System.out.print("Bruttoendgeld: ");
  str= input.readLine();
  Bruttoendgeld= Double.parseDouble(str);
  
   System.out.print("Arbeitslosenversicherungsprozentsatz: ");
  str= input.readLine();
  Arbeitslosenversicherungsprozentsatz= Double.parseDouble(str);
  
   System.out.print("Krankenversicherungsprozentsatz: ");
  str= input.readLine();
  Krankenversicherungsprozentsatz= Double.parseDouble(str);
  
   System.out.print("Pflegeversicherungsprozentsatz: ");
  str= input.readLine();
  Pflegeversicherungsprozentsatz= Double.parseDouble(str);
  
   System.out.print("Rentenversicherungsprozentsatz: ");
  str= input.readLine();
  Rentenversicherungsprozentsatz= Double.parseDouble(str);
  
  
  
  //verarbeitung

  
  Arbeitslosenversicherungsbeitrag=(Bruttoendgeld/100)*Arbeitslosenversicherungsprozentsatz
  Krankenversicherungsbeitrag =(Bruttoendgeld/100)*Krankenversicherungsprozentsatz
  Pflegeversicherungsbeitrag =(Bruttoendgeld/100)*Pflegeversicherungsprozentsatz
  Rentenversicherungsbeitrag =(Bruttoendgeld/100)*Rentenversicherungsprozentsatz
  Gesamt= Arbeitslosenversicherungsbeitrag+ Krankenversicherungsbeitrag+  Pflegeversicherungsbeitrag+ Rentenversicherungsbeitrag
  
  //     ausgabe
  
  
  System.out.println("Die Arbeitnehmerbeiträge beragen bei der")
  System.out.println("Arbeitslosenversicherung: "+df.format(Arbeitslosenversicherungsbeitrag))
  System.out.println("Krankenversicherung: "+df.format(Krankenversicherungsbeitrag))
  System.out.println("Pflegeversicherung: "+df.format(Pflegeversicherungsbeitrag))
  System.out.println("Rentenversicherung: "+df.format(Rentenversicherungsbeitrag))
  System.out.println("Der gesamte Beitrag beträgt: "+df.format(Gesamt))
  
  
  
  }

}


wie gesagt nicht fertig

<3Wanda
 
erstmal den klassennamen ändern, ohne sonderzeichen (ä).
diese ganzen if else klamotten auslagern in eine methode, die das brutto gehalt übergeben bekommt und zusammen kürzen:
Java:
if(gehalt == 5400) {
  prozentsatz1...
  prozentsatz2..
}
if( gehalt < 5400) {
  ...
}
if(gehalt > 5400) {
 ...
}
die unterscheidung, ob feste prozentsätze gelten oder ob ein gegeben werden müßen über unterschiedliche konstruktor aufrufe regeln...
feste prozentsätze ggf in ein array ablegen.
 
Ich kann nur vermuten, aber es klingt seltsam dass ein Benutzer Prozentsätze eingeben muss. Wüsste der Benutzer Prozentsätze, bräuchte er kein Programm sondern nur einen Taschenrechner 🙂

Ansonsten: Variablennamen klein, Klassennamen groß.
Code:
double Bruttoendgeld, Arbeitslosenversicherungsprozentsatz, Krankenversicherungsprozentsatz
=>
Code:
double bruttoendgeld, arbeitslosenversicherungsprozentsatz, krankenversicherungsprozentsatz

Wenn du ein bisschen Einarbeitungszeit mitbringst könntest du z.B. Eclipse als IDE verwenden.

Ganz allgemein noch: statt zwei Versionen zu erstellen solltest du dir vor der ersten Codezeile Gedanken machen, was genau du tun willst 🙂 Sonst gibt's ganz schnell Chaos.

EDIT: Klassen natürlich nicht komplett groß schreiben, sondern nur den Anfangsbuchstaben wie du es schon getan hast.
 
Zuletzt bearbeitet:
ich hab jetzt das jetzt so :

Java:
 import java.io.*; 
import java.text.*; 


public class Sozialversicherungsbeitraege 


{ 

public static void main(String[] args) throws IOException 
{ 



DecimalFormat df= new DecimalFormat (",##0.00"); 
String str; 
double bruttoendgeld, arbeitslosenversicherung, krankenversicherung, pflegeversicherung, rentenversicherung, arbeitslosenversicherung2, krankenversicherung2, pflegeversicherung2, rentenversicherung2, prozentsatz1=0, prozentsatz2=0, prozentsatz3=0, prozentsatz4=0, prozentsatz5=0, prozentsatz6=0, prozentsatz7=0, prozentsatz8=0; 



BufferedReader input= new BufferedReader 
(new InputStreamReader (System.in)); 

System.out.print("Bruttoendgeld: "); 
str= input.readLine(); 
Bruttoendgeld= Double.parseDouble(str); 

/*Rentenversicherung 19,9 % 
nehmer 9,95% 
geber 9,95% Beitrgasbemessungsgrenze 5400 

Arbeitslosenversicherung 2,8 % 
nehmer1,4% 
geber 1,4% Beitrgasbemessungsgrenze 5400 

Pflegeversicherung 1,95 % 

nehmer 0,975% 
geber 0,975% Beitrgasbemessungsgrenze 3675 

Krankenversicherung Allgemein: 14,9% 

nehmer Allgemein: 7,9% * 
geberAllgemein: 7,0% Beitrgasbemessungsgrenze 3675 




*/ 


{ 
if (bruttoendgeld==5400) 
{ 
rentenversicherung= (bruttoendgeld/100)*19,9 ; 
arbeitslosenversicherung= (bruttoendgeld/100)*2,8 ; 

} 
else 
if (bruttoendgeld < 5400) 
{ 
rentenversicherung= (bruttoendgeld/100)* 19,9 ; 
arbeitslosenversicherung= (bruttoendgeld/100)* 2,8 ; 

} 
else 
if (bruttoendgeld > 5400) 
{ 
rentenversicherung= (5400/100)*19,9 ; 
arbeitslosenversicherung= (5400/100)*2,8 ; 

} 
{ 
if (bruttoendgeld==3675) 
{ 
pflegeversicherung= (bruttoendgeld/100)*1,95 ; 
krankenversicherung= (bruttoendgeld/100)*14,9 ; 

} 
else 
if (bruttoendgeld < 3675) 
{ 
pflegeversicherung= (bruttoendgeld/100)* 1,95 ; 
krankenversicherung= (bruttoendgeld/100)* 14,9 ; 

} 
else 
if (bruttoendgeld > 3675) 
{ 
pflegeversicherung= (5400/100)*1,95 ; 
krankenversicherung= (5400/100)*14,9 ; 

} 

Arbeitnehmerbeiträge 

Arbeitgeberbeiträge 

} 







//ausgabe 


System.out.println("bei einem Bruttoendgeld von: "+df.format(Bruttoendgeld)+ " liegt der Arbeitnehmerbeitrag wie folgt vor:") 
System.out.println("Arbeitslosenversicherung: "+df.format(Arbeitslosenversicherung)) 
System.out.println("Krankenversicherung: "+df.format(Krankenversicherung)) 
System.out.println("Pflegeversicherung: "+df.format(Pflegeversicherung)) 
System.out.println("Rentenversicherung: "+df.format(Rentenversicherung)) 
System.out.println("die Arbeitgeberbeiträge liegen bei: ") 
System.out.println("Arbeitslosenversicherung: "+df.format(Arbeitslosenversicherung2)) 
System.out.println("Krankenversicherung: "+df.format(Krankenversicherung2)) 
System.out.println("Pflegeversicherung: "+df.format(Pflegeversicherung2)) 
System.out.println("Rentenversicherung: "+df.format(Rentenversicherung2)) 










} 
}


meine variablen stimmen nich und meine ausgabe erst recht nich
ich versuch grad des zu teilen in arbeitnehmer und arbeitgeber beiträger aber hab kein plan wie man das macht ._.
 
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;


public class Sozialversicherungsbeitraege {
	private static final Object Pflegeversicherung2 = null;
	private static final Object Rentenversicherung2 = null;

	public static void main(String[] args) throws IOException 
	{ 



	DecimalFormat df= new DecimalFormat (",##0.00"); 
	String str; 
	double bruttoendgeld, arbeitslosenversicherung = 0, krankenversicherung = 0, pflegeversicherung = 0, rentenversicherung = 0, arbeitslosenversicherung2 = 0, krankenversicherung2 = 0, pflegeversicherung2 = 0, rentenversicherung2 = 0 , prozentsatz1=0, prozentsatz2=0, prozentsatz3=0, prozentsatz4=0, prozentsatz5=0, prozentsatz6=0, prozentsatz7=0, prozentsatz8=0; 



	BufferedReader input= new BufferedReader 
	(new InputStreamReader (System.in)); 

	System.out.print("Bruttoendgeld: "); 
	str= input.readLine(); 
	double Bruttoendgeld= Double.parseDouble(str); 

	/*Rentenversicherung 19,9 % 
	nehmer 9,95% 
	geber 9,95% Beitrgasbemessungsgrenze 5400 

	Arbeitslosenversicherung 2,8 % 
	nehmer1,4% 
	geber 1,4% Beitrgasbemessungsgrenze 5400 

	Pflegeversicherung 1,95 % 

	nehmer 0,975% 
	geber 0,975% Beitrgasbemessungsgrenze 3675 

	Krankenversicherung Allgemein: 14,9% 

	nehmer Allgemein: 7,9% * 
	geberAllgemein: 7,0% Beitrgasbemessungsgrenze 3675 




	*/ 

	
	
	 
	if (Bruttoendgeld==5400) 
	{ 
	rentenversicherung= (Bruttoendgeld/100)*19.9 ; 
	arbeitslosenversicherung= (Bruttoendgeld/100)*2.8 ; 

	} 
	else 
	if (Bruttoendgeld < 5400) 
	{ 
	rentenversicherung= (Bruttoendgeld/100)* 19.9 ; 
	arbeitslosenversicherung= (Bruttoendgeld/100)* 2.8 ; 

	} 
	else 
	if (Bruttoendgeld > 5400) 
	{ 
	rentenversicherung= (5400/100)*19.9 ; 
	arbeitslosenversicherung= (5400/100)*2.8 ; 

	} 
	{ 
	if (Bruttoendgeld==3675) 
	{ 
	pflegeversicherung= (Bruttoendgeld/100)*1.95 ; 
	krankenversicherung= (Bruttoendgeld/100)*14.9 ; 

	} 
	else 
	if (Bruttoendgeld < 3675) 
	{ 
	pflegeversicherung= (Bruttoendgeld/100)* 1.95 ; 
	krankenversicherung= (Bruttoendgeld/100)* 14.9 ; 

	} 
	else 
	if (Bruttoendgeld > 3675) 
	{ 
	pflegeversicherung= (5400/100)*1.95 ; 
	krankenversicherung= (5400/100)*14.9 ; 

	} 

	//Arbeitnehmerbeiträge 

	//Arbeitgeberbeiträge 

	} 







	//ausgabe 


	System.out.println("bei einem Bruttoendgeld von: "+df.format(Bruttoendgeld)+ " liegt der Arbeitnehmerbeitrag wie folgt vor:");
	System.out.println("Arbeitslosenversicherung: "+df.format(arbeitslosenversicherung));
	System.out.println("Krankenversicherung: "+df.format(krankenversicherung));
	System.out.println("Pflegeversicherung: "+df.format(pflegeversicherung));
	System.out.println("Rentenversicherung: "+df.format(rentenversicherung)); 
	System.out.println("die Arbeitgeberbeiträge liegen bei: "); 
	System.out.println("Arbeitslosenversicherung: "+df.format(arbeitslosenversicherung2));
	System.out.println("Krankenversicherung: "+df.format(krankenversicherung2));
	System.out.println("Pflegeversicherung: "+df.format(pflegeversicherung2));
	System.out.println("Rentenversicherung: "+df.format(rentenversicherung2)); 










	} 

}



wie unterscheide ich in arbeitnehmer und arbeitgeberbeiträge ._.
 
Du scheinst prinzipielle Probleme zu haben. Daher: fange KLEIN an. Als erstes nur die main-Methode, darin Einlesen und ausgeben der ganzen Dinge die du einlesen und ausgeben willst.
Wenn das klappt: ersetze das Einlesen von Kommandozeile durch feste Werte. Das eigentliche Einlesen natürlich nur auskommentieren und nicht löschen 🙂
Dadurch hast du weniger Streß beim Testen und vor allem immer die selben Eingaben. Hilft enorm beim Fehler suchen.

Wenn das läuft sehen wir weiter.
 
lol. Sagen wir mal so: ich glaube nicht, dass das Programm was wird wenn du nicht klein anfängst... Du musst ja nicht ganz von vorne anfangen, aber ich würde dringend raten, das Zeug zwischen Ein- und Ausgabe auszukommentieren und erst mal zu schauen dass der Rest läuft. Dann schrittweise was dazu machen, schauen ob es kompiliert und das tut was du willst. Dann von vorne ;-)
 
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;


public class Sozialversicherungsbeitraege {
	private static final Object Pflegeversicherung2 = null;
	private static final Object Rentenversicherung2 = null;

	public static void main(String[] args) throws IOException 
	{ 



	DecimalFormat df= new DecimalFormat (",##0.00"); 
	String str; 
	double bruttoendgeld, arbeitslosenversicherung = 0, krankenversicherung = 0, pflegeversicherung = 0, rentenversicherung = 0, arbeitslosenversicherung2 = 0, krankenversicherung2 = 0, pflegeversicherung2 = 0, rentenversicherung2 = 0 , prozentsatz1=0, prozentsatz2=0, prozentsatz3=0, prozentsatz4=0, prozentsatz5=0, prozentsatz6=0, prozentsatz7=0, prozentsatz8=0; 



	BufferedReader input= new BufferedReader 
	(new InputStreamReader (System.in)); 

	System.out.print("Bruttoendgeld: "); 
	str= input.readLine(); 
	double Bruttoendgeld= Double.parseDouble(str); 

	/*Rentenversicherung 19,9 % 
	nehmer 9,95% 
	geber 9,95% Beitrgasbemessungsgrenze 5400 

	Arbeitslosenversicherung 2,8 % 
	nehmer1,4% 
	geber 1,4% Beitrgasbemessungsgrenze 5400 

	Pflegeversicherung 1,95 % 

	nehmer 0,975% 
	geber 0,975% Beitrgasbemessungsgrenze 3675 

	Krankenversicherung Allgemein: 14,9% 

	nehmer Allgemein: 7,9% * 
	geberAllgemein: 7,0% Beitrgasbemessungsgrenze 3675 




	*/ 

	
	
	 
	if (Bruttoendgeld==5400) 
	{ 
	rentenversicherung= (Bruttoendgeld/100)*19.9 ; 
	arbeitslosenversicherung= (Bruttoendgeld/100)*2.8 ; 

	} 
	else if (Bruttoendgeld < 5400) 
	{ 
	rentenversicherung= (Bruttoendgeld/100)* 19.9 ; 
	arbeitslosenversicherung= (Bruttoendgeld/100)* 2.8 ; 

	}else if (Bruttoendgeld > 5400) 
	{ 
	rentenversicherung= (5400/100)*19.9 ; 
	arbeitslosenversicherung= (5400/100)*2.8 ; 

	} 
	{ 
	if (Bruttoendgeld==3675) 
	{ 
	pflegeversicherung= (Bruttoendgeld/100)*1.95 ; 
	krankenversicherung= (Bruttoendgeld/100)*14.9 ; 

	} 
	else 
	if (Bruttoendgeld < 3675) 
	{ 
	pflegeversicherung= (Bruttoendgeld/100)* 1.95 ; 
	krankenversicherung= (Bruttoendgeld/100)* 14.9 ; 

	} 
	else 
	if (Bruttoendgeld > 3675) 
	{ 
	pflegeversicherung= (5400/100)*1.95 ; 
	krankenversicherung= (5400/100)*14.9 ; 

	} 

	double pflegebeitragnehmer= pflegeversicherung /2; 
	double krankenbeitragnehmer= krankenversicherung; 
	double arbeitslosenbeitragnehmer= arbeitslosenversicherung/2; 
	double rentenbeitragnehmer = rentenversicherung/2; 

	//geber 
	double pflegebeitraggeber = pflegeversicherung /2; 
	double krankenbeitraggeber = krankenversicherung; 
	double arbeitlosenbeitraggeber = arbeitslosenversicherung/2; 
	double rentenbeitraggeber = rentenversicherung/2; 
	







	//ausgabe 


	System.out.println("bei einem Bruttoendgeld von: "+df.format(Bruttoendgeld)+ " liegt der Arbeitnehmerbeitrag wie folgt vor:");
	System.out.println("Arbeitslosenversicherung: "+df.format(arbeitslosenbeitragnehmer));
	System.out.println("Krankenversicherung: "+df.format(krankenbeitragnehmer));
	System.out.println("Pflegeversicherung: "+df.format(pflegebeitragnehmer));
	System.out.println("Rentenversicherung: "+df.format(rentenbeitragnehmer)); 
	System.out.println("die Arbeitgeberbeiträge liegen bei: "); 
	System.out.println("Arbeitslosenversicherung: "+df.format(arbeitlosenbeitraggeber));
	System.out.println("Krankenversicherung: "+df.format(krankenbeitraggeber));
	System.out.println("Pflegeversicherung: "+df.format(pflegebeitraggeber));
	System.out.println("Rentenversicherung: "+df.format(rentenbeitraggeber)); 










	}
	}

}


und es läuft <.<

nur noch gesamte beiträge und krankenversicherung


Bruttoendgeld: 1400
bei einem Bruttoendgeld von: 1.400,00 liegt der Arbeitnehmerbeitrag wie folgt vor:
Arbeitslosenversicherung: 19,60
Krankenversicherung: 208,60
Pflegeversicherung: 13,65
Rentenversicherung: 139,30
die Arbeitgeberbeiträge liegen bei:
Arbeitslosenversicherung: 19,60
Krankenversicherung: 208,60
Pflegeversicherung: 13,65
Rentenversicherung: 139,30
 

Zurück
Oben