2009-12-08 2 views
-1

나는 사용자 이름과 마크를 입력하고 평균을 표시하도록 프로그램을 얻으려고합니다. 이것은 내가 시도한 것입니다 :시험 마크 평균 코드가 작동하지 않는 이유는 무엇입니까?

// Calculate Students Average of series of exam marks stored in an array 
import uulib.GUI; 

public class ExamMarks { 

    public static void main(String[] args) { 

    final int SIZE = 10; 

    int[] marks = new int[SIZE]; 

    double total, average; 

    String[] names = new String[]{""}; 


    // Read marks into array 
    { 
     String name; 
     name = GUI.getString("Enter your name"); 
     GUI.show("Names"); 
    } 

    for(int i=0; i<marks.length; i++) { 
     marks[i] = GUI.getInt("Enter mark " + (i+1)); 
    } 

    total = 0; 
    // calculate average mark 
    for(int i=0; i<marks.length; i++) { 
     total = total + marks[i]; 
    } 

    average = total/SIZE; 
    GUI.show("Average mark is " + average); 
} 

} 

이름을 물어보고 마킹을 10 번하고 마침내 평균을 표시하고 싶습니다. 그러나 그것은 단지 하나의 이름을 묻는 것입니다, 그 후에 그것은 10 자릿수를 물었고 저에게 평균을주었습니다.

+3

끔찍한 방법으로 도움을 요청하십시오. – pstanton

+0

그것은 무엇을합니까? – nes1983

+0

다른 방법으로 내가 물어볼 수 있습니다. –

답변

2

일부 힌트와 관찰 :

  1. 난 당신이 한 학생 10 점수를 입력하고 그 학생의 평균을 계산 할 것 같아요. 따라서 이름 배열이 필요하지 않을 수도 있습니다 (이름은 하나뿐입니다).
  2. name은 블록 내부에서만 볼 수 있습니다. 그 블록 밖에서 이름이 필요하면 중괄호를 제거하십시오. 평균 계산
  3. 당신은 (단지 하나 명의 값을 캐스팅하는 것은 충분하다하더라도) (double) total/(double) SIZE)처럼, 두 배 GUI 사용 문제에 대한

하는 정수 값을 캐스팅하려고 할 수 있습니다 - 당신이 사용자 정의 라이브러리를 가져 당신이 내기 그것을 사용하는 방법에 대한 매뉴얼을 다시 한번 확인하십시오. 우리는 모든 학생들이 고유 한 이름을 가지고 가정 : 일반적으로 당신은 지금 단순화를 위해 (A studentName 속성과 mark 속성을 보유하고 Result 같은 작은 클래스를 만드는 것)

편집

귀하의 의견은 조금 변경 그래서 studentID는 필요 없습니다).

클래스가없는 작업을 더 잘 해결할 수 있다면 이름 배열과 마크 용 배열로 에뮬레이션 할 수 있습니다. 당신이 더 자바에서 할 (해야) 할 수있는 몇 가지가 있습니다,하지만 난 그 이해를 얻고 해결책을 얻을 정도로 쉽게 생각 :

public void process() { 
    final int SIZE = 10; 
    String[] names = new String[SIZE]; 
    int[] marks = new int[SIZE]; 
    for(int i = 0; i < SIZE; i++) { 
    names[i] = readStudentNameFromGUI(); 
    marks[i] = readStudentsMarkFromGUI(); 
    } 
    double average = calculateAverage(marks); 
} 

참고 :

다음 코드는 흐름을 보여줍니다.

+0

메신저는 10 명의 학생 이름과 10 명의 학생 점수를 입력 한 다음 평균을 찾고 있습니다. –

+0

감사합니다 남자, 내가 배열을 사용해야한다고 생각해. –

관련 문제