Nochmals die gestreckte Länge

Hallo alle zusammen

es geht mir nochmal um die gestreckte Länge die dieht zur Berechnung eines Plattenhakens dort werden die Masse innen UND aussen angegeben.
Mein Problem ist wenn ich die einzelnen Rechnungen überprüfe stimmen sie aber die Summe der Rechnungen stimmt nicht.
Ich geb hier nochmal das Programm ein:

   
public static double la(double C, double radius)
	          { return (C-radius);
	      }
	      public static double lb(double F, double radius) {
	        return (((Math.PI*radius)/2)+((F*Math.PI)/4));    
	      }
	      public static double berechnelc(double B, double radius) {
		        return (B-radius); }
		        
		  public static double berechneld(double F, double Neigungswinkel, double radius) {
			        return (((Neigungswinkel*Math.PI*radius)/180)+((Neigungswinkel*F*Math.PI)/360));}
		  
		  public static double berechnele(double lf, double ll) {
		        return (lf-ll); }
			        	      
	      public static double berechnelf(double A, double B, double F, double Neigungswinkel) {
		        return ((A-F-B)/(Math.sin(Math.toRadians(180-90-Neigungswinkel)))); }
	      
	      public static double berechnell(double F, double Neigungswinkel, double radius) {
		        return ((radius+F)/(Math.sin(Math.toRadians(180-90-Neigungswinkel))))*(Math.sin(Math.toRadians(Neigungswinkel))); }
	      
	      public static double berechnegestrecktelaenge(double Neigungswinkel, double la, double lb,
		           double lc, double ld, double le) {
		        return (la+lb+lc+ld+le);}
	            
	      public static void main(String[] args) {
	      
	        java.util.Scanner scanein = new java.util.Scanner(System.in);
	        System.out.println("Möchten Sie die gestreckte Länge berechnen ?");
	        String ein = scanein.nextLine();
	        
	        if ("J".equals(ein)) {
	          System.out.println("Gib die Länge A, B, C in mm, die Materialstärke F in mm, den Neigungswinkel in Grad und den Radius in mm ein:");
	          ein = scanein.nextLine();
	          double A = Double.parseDouble(ein);
	          ein = scanein.nextLine();
	          double B = Double.parseDouble(ein);
	          ein = scanein.nextLine();
	          double C = Double.parseDouble(ein);
	          ein = scanein.nextLine();
	          double F = Double.parseDouble(ein);
	          ein = scanein.nextLine();
	          double Neigungswinkel = Double.parseDouble(ein);
	          ein = scanein.nextLine();
	          double radius = Double.parseDouble(ein);
	          double gestrecktelaenge = berechnegestrecktelaenge(A,B ,C ,F ,Neigungswinkel, radius);
		
			System.out.println("die gestreckte Länge beträgt "+gestrecktelaenge+" mm ");
	          return;	

La=37,5
+lb=31,415
+lc=87,5
+ld=20,94
+le=lf-ll=172,37
lf=220
ll=47,63
Wo ist der Fehler?

Die Maße des Plattenhakens sind
A=225 mm
B=100 mm
C= 50 mm
F= 15 mm
Neigungswinkel =60°
radius =12.5 mm

Es soll an der falschen Durchleitung liegen, kann mir denn jemand sagen wie man das an diesem Beispiel richtig ist? (Ich bin ein blutiger Anfänger nur nebenbei)

Dein Code ist ja wildwuchs vom feinsten. Aber möglicherweise liegt dein Fehler daran, dass du anscheinend einige deiner Berechnungsfunktionen nie benutzt.

Dann solltest du dir mal Codeconvetions ansehen:
Klassennamen -> UpperCamelCase (Auf Umlaute verzichten oder diese besser ausschreiben). Keine _
felder, methoden, variablen, Parameter -> lowerCamelCase

und für die Zukunft: bitte rücke deinen Code richtig ein und verwende Java-Tags

bei so vielen Parametern lohnt es sich, gar keine Parameter zu nehmen,
A, B, C usw. als Instanzattribute, dann können die Methoden darauf zugreifen

aufrufen muss man die Methoden aber schon irgendwann mal,
einen Parameter la zu bekennen (an welchem dann B übergeben wird…) hat keine Auswirkungen auf eine vorhandene Methode la(),

normalerweise bin ich gegen Lösung, aber hier erlaube ich mir den Spaß:

    public static double berechnegestrecktelaenge(double A, double B, double C, double F, double Neigungswinkel, double radius)
    {
        double le = berechnele(berechnelf(A, B, F, Neigungswinkel), berechnell(F, Neigungswinkel, radius));
        return la(C, radius) + lb(F, radius) + berechnelc(B, radius) + berechneld(F, Neigungswinkel, radius) + le;
    }

kommt sogar hin


und auch noch eine Binsenweisheit:
schön und gut, dass du Einlesecode kannst, aber das hilft niemanden weiter bei diesem Problem,
außer mit notwendiger Eingabe alles zu sabotieren,

für eigene Tests dürfte dich das auch hindern, erkenne die Vorteile, darauf zu verzichten :wink: :

    public static void main(String[] args)
    {
        double A = 225;
        double B = 100;
        double C = 50;
        double F = 15;
        double Neigungswinkel = 60;
        double radius = 12.5;
        double gestrecktelaenge = berechnegestrecktelaenge(A, B, C, F, Neigungswinkel, radius);
        System.out.println("die gestreckte Länge beträgt " + gestrecktelaenge + " mm ");
    }

Programm starten und läuft alleine bis zum Ergebnis oder Fehler,

wenn du einen Testfall fertig hast und andere Werte verwenden willst, kannst du sie genausogut im Code ändern statt neu einzutippen,
bei nur einen statt unwahrscheinlichweise gleich alle 6 Parameter verändert sparst du wieder eine Menge

wenn alles fertig ist, dann Benutzereingabe einfügen (und noch mal kurz diese Eingabe testen)