тестер Java-класса - PullRequest
       2

тестер Java-класса

0 голосов
/ 19 марта 2019

Я создал студенческий класс, для которого мне нужно создать файл тестера, файл компилируется, однако я получаю сообщение об ошибке, когда я "java Student".эта ошибка:

TheRealFawcett:Lab8 therealfawcett$ java Student
Error: Main method not found in class Student, 
please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend 
javafx.application.Application
TheRealFawcett:Lab8 therealfawcett$ 

Кто-нибудь знает, почему это происходит?и что я должен был бы сделать, чтобы это исправить.

приведенный ниже код - это мой оригинальный файл класса "Student"

Это мой код:

import java.io.*;
import java.util.*;

public class Student {
    private static void main(String[] args) {
        Student student = new Student("Charles");
    }

    private String forName;
    private String surName;
    private String studentID;
    private String degreeScheme;

    //This is the Constructor of the 
    public Student(String name) {
        this.forName = forName;
    }

    //Assign the surname of the student 
    public void stuSurname(String stuSurname) {
        surName = stuSurname;
    }

    //Assign the student ID to the student
    public void stuID(String stuID) {
        studentID = stuID;
    }

    //Assign the Degree of the Student
    public void stuDegree(String stuDegree) {
        degreeScheme = stuDegree;
    }

    //Print the student details
    public void printStudent() {
        System.out.println("Forname:" + forName);
        System.out.println("Surename:" + 
surName);
        System.out.println("Student ID:" + 
studentID);
        System.out.println("Degree Scheme:" + 
degreeScheme);
    }

    // setter
    public void setForName(String forName) {
        this.forName = forName;
    }

    // getter
    public String getForName() {
        return forName;
    }
}

Iтакже хотите запустить этот тестовый файл на моем исходном коде, подойдет ли написанная программа для тестирования?

import java.io.*;

public class StudentTest {

public static void main(String[] args) {
    /*create three new objects using constructor*/
    Student stuOne = new Student()
    Student stuTwo = new Student()
    Student stuThree = new Student()

    //Invoking Methods for Each object Created
    stuOne.forName("James")
    stuOne.stuSurname("Smith")
    stuOne.stuID("0987")
    stuOne.stuDegree("Computer Science")

    stuTwo.forName("Vanessa")
    stuTwo.stuSurname("Peach")
    stuTwo.stuID("0988")
    stuTwo.stuDegree("Mathematics")

    stuThree.forName("George")
    stuThree.stuSurname("BlackSmith")
    stuThree.stuID("0989")
    stuThree.stuDegree("English")
   }
}

Тестер сможет создать три экземпляра ученика и распечатать их.

1 Ответ

0 голосов
/ 19 марта 2019

В StudentTest есть много ошибок (например, нет точек с запятой для окончаний), но вопрос конкретного ОП касался класса main.

Класс Student имеет main, определенный как:

private static void main(String[] args) {

Как говорится в сообщении об ошибке, подпись должна быть public , поэтому ее следует изменить на:

public static void main(String[] args) {

решит эту конкретную проблему. Однако в других местах есть и другие проблемы, такие как конструктор:

   //This is the Constructor of the 
public Student(String name) {
    this.forName = forName;
}

Поскольку параметр name, это должно быть:

this.forName = name;

(или изменить имя параметра, либо одно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...