2014-11-15 4 views
-2

Я пытаюсь написать программу, в которой записано имя ученика, и распечатывает тестовые баллы учащегося вместе с их именем. Пока программа отображает null для имени студента и «0» для тестовых результатов. Я присвоил значение переменным, которые я использую, но, похоже, просто пропустил его. Вот код:Студенческий класс и объекты

package studentTestScores; 
public class Student { 

    public static void main(String[] args) 
    { 
    Student s1, s2; 
    String str; 
    int i; 

    s1 = new Student(); 

    s1.setName("Bill"); 
    s1.setScore(1, 84); 
    s1.setScore(2, 86); 
    s1.setScore(3, 88); 

    str = s1.getName(); 
    System.out.println(str); 

    i = s1.getHighScore(); 
    System.out.println(i); 

    } 

    public void setScore(int i, int j) { 
    // TODO Auto-generated method stub 
    } 

    public int getHighScore() { 
    // TODO Auto-generated method stub 
    return 0; 
    } 

    public String getName() { 
    // TODO Auto-generated method stub 
    return null; 
    } 

    public void setName(String string) { 
    // TODO Auto-generated method stub 
    } 
} 
+0

Что находится внутри вашей SetName функции – Benjamin

+0

Ничего, быстрое исправление в затмении предложил создать общественный вакуум, так что я попробовал, она избавилась от сообщения об ошибке, но ничего другого. – ShadowWalker50010

+1

это домашнее задание? и ya, что делает ваша функция setName? – Krishna

ответ

-2

Надеюсь, что это именно то, что вам нужно.

package studentTestScores; 
public class Student { 

public int highScore; 
public string studentName; 
public int subjectNum; 

public static void main(String[] args) 
{ 
    Student s1; 
    String str; 
    int i; 

    s1 = new Student(); 

    s1.highScore = 0; 
    s1.studentName = ""; 
    s1.subjectNum = 0; 

    s1.setName("Bill"); 
    s1.setScore(1, 84); 
    s1.setScore(2, 86); 
    s1.setScore(3, 88); 

    str = s1.getName(); 
    System.out.println(str); 

    i = s1.getHighScore(); 
    System.out.println(i); 

} 

public void compareAndSetHighScore(int i, int j) { 
    if(highScore < j) 
    { 
     highScore = j; 
     subjectNum = i;//If you need to print subject Number too. 
    } 
} 

public int getHighScore() { 
    return highScore; 
} 

public String getName() { 
    return studentName ; 
} 

public void setName(String string) { 
    studentName = string; 
} 

}

+0

Это помогло. Единственная проблема в том, что Java не распознает s1.setScore (int, int) как действительную команду. Он продолжает создавать метод setScore. – ShadowWalker50010

Смежные вопросы