2017-12-04 10 views
0

저는 시작 프로그래머이며 메소드를 코드로 구현하도록 지정되었습니다. 나는이 학년 평균 코드를 잘 작동 시켰지만, 일단 그것을 메소드로 분해하면 반환 함수가 작동하지 못했습니다. 나는 괄호를 움직이고 코드를 재 배열했지만 아무 소용이 없다. 나는 지속적으로 얻을 "기호를 찾을 수 없습니다"- 나는 정적을 두 번 getAverage (numOfgrades가) -public 라인을 시작으로 사전 :Java에서 변수 반환/전달

package milsteadgrades; 
import java.util.Scanner; 

public class MilsteadGrades { 


public static void main(String[] args) 

{ 
//Call methods to execute program. 
displayInfo(); 
double numOfgrades = getInput(); 
double average = getAverage(numOfgrades); 
char letgrade = determineLetterGrade(average); 
displayGrades(average, letgrade); 
} 


public static void displayInfo() 

{ 
System.out.println("Mallory Milstead"); 
System.out.println("This program will prompt the user for a number of 
grades" 
+ " and each grade. Then the program calculates and displays the average and 
letter"+" grade."); 
} 

public static double getInput() 

{ 
//Prompt user to enter number of grades and assign that number to 
numOfgrades. 
System.out.print("How many grades would you like to average? "); 
Scanner keyboard = new Scanner(System.in); 
double numOfgrades = keyboard.nextDouble(); 
return numOfgrades; 
} 

public static double getAverage(numOfgrades) 

{ 
//Prompt the user to enter grades. 
System.out.println("Enter exam scores : "); 
Scanner keyboard = new Scanner(System.in); 
double total = 0; 
for (double i = 0; i < numOfgrades; i++) { 
double grade = keyboard.nextDouble(); 
total+=grade;} 
double average = total/numOfgrades; 
return average; 
} 

public static char determineLetterGrade(average) 

{ double testscore = average; 
    char letgrade; 

    if (testscore >= 90) 
    { 
     letgrade = 'A'; 
    } else if (testscore >= 80) 
    { 
     letgrade = 'B'; 
    } else if (testscore >= 70) 
    { 
     letgrade = 'C'; 
    } else if (testscore >= 60) 
    { 
     letgrade = 'D'; 
    } else 
    { 
     letgrade = 'F'; 
    } 
    return letgrade; 
    } 

public static void displayGrades(average, letgrade) 

{ 
System.out.println("The average of the grades is "+average+ " and the 
letter grade"+ " is " + letgrade+".");} 

} 

에 ... 내 변수의 범위와 감사를 수행 할 수 있습니다 생각 에러 메시지. 내 변수가 인식되고 있지 않습니다.

+4

"심볼을 찾을 수 없습니다"라는 컴파일 오류의 의미는 무엇입니까?] (https://stackoverflow.com/questions/25706216/what-does-a-cannot-find-symbol-compilation-error-mean) –

+0

Java는 모듈 언어가 아닙니다. 그것은 OBJECT 언어입니다. 정적 메서드 (사실상 OP 개념을 위반 함)를 프로그래밍하는 동안 우아하거나 고품질의 Java 코드에 관해서는 말하기가 어렵습니다. –

+0

그래, 나는 이것에 초보이고 약간 혼란 스러웠습니다. 나는 대신 방법을 구현한다고 말 했어야했다. 머리를 가져 주셔서 감사합니다. – mal0689

답변

1

getAverage의 인수 유형을 선언해야합니다. 다른 방법 (안 모듈)에 대한

public static double getAverage(double numOfgrades)

와 비슷하게처럼. 도움말을 보려면 this 또는 this을 읽으십시오.

+0

Karl Reid ... 고맙습니다. 나는 그것이 단순한 무엇인지 알았다. 나는 그것을했고 그것은 매력처럼 처음으로 달렸다. 당신은 저에게 많은 번거 로움과 시간을 절약 해주었습니다. 최고의 소원 :) – mal0689