2016-05-07 6 views
0

bekommen Dies ist die wichtigste Methodeich immer Nullen von einer Methode

package javaapplication50; 

import java.util.Scanner; 

public class JavaApplication50 { 

    public static void main(String[] args) { 

       System.out.print(" > Enter student ID: "); 

       int id = in.nextInt(); 

       System.out.print("> Enter student First Name: "); 

       String name = in.next(); 

       System.out.print("> Enter student Last Name: "); 
       String last = in.next(); 

       JavaApplication50 app = new JavaApplication50(); 

       System.out.println(" > Enter students Grades: "); 

       double aptTestGrade = app.readStudentGrade(0, 100, " > Enter the grade of Aptitude Test: ", in); 
       double introYearGrade = app.readStudentGrade(0, 100, " > Enter the grade of Introductory Year: ", in); 
       double schoolGrade = app.readStudentGrade(0, 100, " > Enter the grade of School: ", in); 

       System.out.println(""); 

       String AF; 

       double finalgrade = 0; 

       calculateFinalGrades(aptTestGrade, introYearGrade, schoolGrade); 

       if (finalgrade >= 90 && finalgrade <= 100) { 

        AF = "Medicine"; 

       } else if (finalgrade >= 85 && finalgrade <= 90) { 

        AF = "Engineering"; 
       } else if (finalgrade >= 80 && finalgrade <= 85) { 
        AF = "Computing"; 

       } else if (finalgrade >= 75 && finalgrade <= 80) { 
        AF = "Science"; 

       } else if (finalgrade >= 70 && finalgrade <= 75) { 

        AF = "Economics"; 

       } else { 

        AF = "Not Assigned"; 

       } 

       System.out.println("> " + name + " " + last + " (ID #" + id + ") has been added to the system."); 

       System.out.println("> Final Grade: " + finalgrade + " Assigned Faculty: " + AF); 

ich diese Methode verwendet, um den Benutzer zu erzwingen Test Grad eingeben zwischen 0 und 100.

double readStudentGrade(double min, double max, String message, Scanner in) { 
     while (true) { 
      System.out.print(message); 
      double input = in.nextDouble(); 
      if (input <= max && input >= min) { 
       return input; 
      } else { 
       System.out.println(""); 
       System.out.println(" > Invalid input! ((must be between " + min + " and " + max + ")"); 
       System.out.println(" > Please try again.\n" 
         + ""); 
       System.out.println(""); 
      } 
     } 

    } 

diese Methode ist Berechnen Sie die endgültige Note, aber aus irgendeinem Grund werde ich immer Null als Note.

public static double calculateFinalGrades(double aptTestGrade, double introYearGrade, double schoolGrade) { 

    double finalgrade; 

    double finalgrade1 = (aptTestGrade * 30)/100; 

    double finalgrade2 = (introYearGrade * 50)/100; 

    double finalgrade3 = (schoolGrade * 20)/100; 

    finalgrade = finalgrade1 + finalgrade2 + finalgrade3; 

    return finalgrade; 

} 

Vielen Dank im Voraus.

+0

Kein Problem. Bitte wählen Sie eine unserer Antworten als richtig aus. Die Leute wissen, dass die Antworten glaubwürdig sind. – sebenalern

Antwort

3

Das Problem hier liegt.

double finalgrade = 0; // finalgrade = 0 

calculateFinalGrades(aptTestGrade, introYearGrade, schoolGrade); // method returns finalgrade but return value never assigned to finalgrade 

dies zu beheben:

finalgrade = calculateFinalGrades(aptTestGrade, introYearGrade, schoolGrade); 

So, jetzt, wenn die Methode gibt es den Rückgabewert zuweist seinen Wert auf finalgrade und aktualisiert.

3

Sie müssen die finalgrade Variablen zugewiesen werden:

double finalgrade = calculateFinalGrades(aptTestGrade, introYearGrade, schoolGrade); 
1

finalgrade auf 0 zugewiesen, sondern es muss calculateFinalGrades(aptTestGrade, introYearGrade, schoolGrade); halten und dann den Aufruf Sie calculateFinalGrades aber nichts halten so den zurückgegebenen Wert

hinzufügen:

finalgrade = calculateFinalGrades(aptTestGrade, introYearGrade, schoolGrade); 

statt dessen:

double finalgrade = 0; 
calculateFinalGrades(aptTestGrade, introYearGrade, schoolGrade); 
+0

hat es perfekt funktioniert. Danke yall – David

Verwandte Themen