Forum
Tipps
News
Menu-Icon

javacoding rechnet nicht richtig...

Hallo Situation ist, dass ich kurz vor meiner prüfung stehe und jetzt n kleines progrämmchen zu einer aufgaeb geschriben habe.
Leider müsste meiner meinung nach etwas anderes herauskommen wie mein coding errechnet...vielleicht entdeckt ja jemand den fehler!?






package Prijekt_KA2_Verb;

public class Bewerber {

   
   
   public static double gesamtpunkte(double paz1, double paz2, double paz3, double jahre, double note)
   {
      //paz1 = 1;
      //paz2 = 2;
      //paz3 = 3;
      //jahre = 4;
      //note = 5;
      
      double paz = 0;
      double pges = 0;
      double pnote = 0;
      double pjahre = 0;
      
      paz = paz1 + paz2 + paz3;
      
      if (jahre<5){
         pjahre = 0;
      }if(jahre>10){
         pjahre = 3;
      }else{
         pjahre = 2;
      }
      
      if(note<1){
         pnote=0;
      }if(note>6){
         pnote=0;
      }else{
         pnote = 12.5-(2.5*note);
      }
      
      pges = paz + pjahre + pnote;
      return pges;
      
      
      
   }
   
   
   
   
   
   public static void main(String[] args) {
      // TODO Auto-generated method stub

      System.out.println("Punkte.....:" + gesamtpunkte(5,5,5,0,5));
      
   }

}




nach mehrfachem testen habe ich herausbekommen, dass der teil

if (jahre<5){
         pjahre = 0;
      }if(jahre>10){
         pjahre = 3;
      }else{
         pjahre = 2;
      }

In jedem Fall 2 ausgibt, egal, ob jahre 1, 5, 7, 9, 12 oder 22 groß ist.
WARUM?

Vielen Dank für eure Hilfe


Antworten zu javacoding rechnet nicht richtig...:

Holy...
okay.

In deinem Beispiel dürfte einiges schief gehn, und das was klappt ist hässlich.

Note -3 dürfte dir auch ein interessantes Ergebnis bringen ;)
Jahre <= 10 ist IMMER 2.

     if (jahre<5){ // Wenn kleiner fünf, dann pJahre = 0; mache weiter
         pjahre = 0;
      }if(jahre>10){ //Prüfe DANN ob jahre > 10
         pjahre = 3;
      }else{  // Falls Jahre <= 10 ist (egal ob auch < 5) pjahre = 2
         pjahre = 2;
      }

richtig:
if(jahre <5)
{...}
else if(jahre > 10)
{...}
else
{...}

Gleiches Spiel bei deiner Note:
if(note < 1)
{...}
else if(note > 6)
{...}
else
{...}

Du willst jeweils nur _einen_ der schritte ausführen.

Wenn Jahre 22 oder 12 ist, sollte btw. 3 rauskommen. pjahre  kann nur 2 oder 3 werden.
Du hast übrigens schon "Projekt" falsch geschrieben, was so einiges erklären dürfte...

Zum Rest äußer ich mich mal nicht, fix deine Fehler, teste deinen Code und meld dich wieder mit neuem Code wenn du mehr als 10 Minuten arbeit reingesteckt hast :/ 

Und bitte, bitte, bitte gestalt ihn lesbar.
if(Bedingung)
{...}
else
{...}
Tut wahnsinnig viel zur lesbarkeit, wegen mir auch curly auf/zu in eigener Zeile oder curly auf ohne umbruch, aber NACH curly zu IMMER ein new line

« Letzte Änderung: 09.05.11, 13:31:39 von Klischeepunk »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Danke....das "else if" war das Problem....
Wegen dem "Prijekt" das ist nicht falsch, sondern heißt halt so...!

Nochmals Danke...

Danke....das "else if" war das Problem....
Wegen dem "Prijekt" das ist nicht falsch, sondern heißt halt so...!

Nochmals Danke...

Es ging eigentlich darum, dass dir Gründlichkeit viel geholfen hätte.
So z.B. Auch deine Fehlerbeschreibung die mich erstmal irritiert hat - für 12 und 22 kam nämlich 3 raus, also bitte einfach gründlicher Arbeiten in Zukunft, dann bin ich auch weniger bissig bei Antworten ;)

Ansonsten: ur welcome. 

« Gnu CCBefreundete Zahlen in C programmieren? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Notebook
Ein Notebook ist ein kleiner, zusammklappbarer Computer für unterwegs. Er besteht aus Tastatur, Touchpad oder ähnlichem Mausersatz, Bildschirm und dem Innenlebe...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Unicode
Unicode ist ein international anerkannter Standard, der als universeller Zeichencode ("Universal Code") dient und durch das Unicode-Konsortium entwickelt und verwaltet wi...