nybegynderhjælp til superklasse
Hej eksperter(arne især dig!)Vi sidder og forsøger at lave et program til en svømmeklub ved navn delfinen til en skoleopgave og undervejs blev vi bedt om at lave en superklasse. Vi har så taget udgangspunkt i vores allerede fungerende klasse ved navn Member.
her er vores kode fra member
import java.util.*;
import java.text.*;
import java.io.*;
/**
* Write a description of class Kontigent here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Member
{
// Det fulde navn på svømmeren
private String name;
// Alderen på svømmeren
private int age;
// Privatadressen på svømmeren oplyst i vej, postnummer og by
private String address;
// Medlemsstatus på svømmeren
private boolean status;
// Typen på svømmeren defineres mht. alder
private boolean type;
// Fødselsdato på svømmeren
private String birthDate;
// Fødselsdatogrænse på svømmeren
private String birthDateLimit;
private String relation;
private Date newDate;
private Date limitDate;
//Liste over navne
private static ArrayList<Member> members = new ArrayList<Member>();
private String member;
private String birthDay;
/**
* Indmeld en ny svømmer med personlige oplysninger
* @param fuldeNavn Navnet på svømmeren.
* @param birthDay indtast din fødselsdato i formatet 2008-05-30
*/
public Member(String fullName, String birthDay, String privateAddress)
throws IllegalArgumentException
{
name = fullName;
this.birthDay = birthDay;
address = privateAddress;
members.add(this);
}
public static void print()
{
for(int i =0; i< members.size();i++){
System.out.println(members.get(i));
}
}
public static void saveList() throws IOException {
File outFile = new File("medlem.txt");
FileWriter out = new FileWriter(outFile);
for(int i =0; i < members.size();i++){
out.write(members.get(i).toString() + "\r\n");
}
out.close();
}
public static void getList() throws IOException, ParseException {
BufferedReader in = new BufferedReader(new FileReader("medlem.txt"));
String curLine = null;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
while((curLine = in.readLine()) !=null){
String[] data = curLine.split("\t");
Member myMember = new Member(data[0], data[1] , data[2]);
}
in.close();
}
public static void clearList() throws IOException {
members.clear();
}
public String toString(){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
return name + "\t" + birthDay + "\t" + address;
}
private int getDateYear()
{
DateFormat df = new SimpleDateFormat("yyyy");
Date date = new Date();
String stringDate = df.format(date);
int currentDate = new Integer(Integer.parseInt(stringDate));
return currentDate;
}
/**
* Returnerer fødselsdatogrænsen på svømmeren
*/
public Date findBirthDateLimit()
{
try
{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date limitDate = df.parse(birthDay);
String sDate = df.format(limitDate);
return limitDate;
} catch (ParseException e)
{
e.printStackTrace();
}
return newDate;
}
/**
* Returnerer fødselsdatoen på svømmeren
*/
public Date findBirthDate()
{
try
{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date newDate = df.parse(birthDay);
String sDate = df.format(newDate);
return newDate;
} catch (ParseException e)
{
e.printStackTrace();
}
return newDate;
}
}
Dernæst extender vi til en klasse vi har kaldt Swimmer, som så skal hente navnet fra Member.
public class Swimmer extends Member
{
private String holdNavn;
private String disciplin;
public Swimmer(String fullName, String team, String disciplin)
{
super(fullName);
holdNavn = team;
this.disciplin = disciplin;
}
}
Vi får nu en fejl
cannot find symbol - constructor Member(java.lang.String)
Vi har derefter forsøgt at lave en helt ny member hvor kun navnet er implementeret, hvor den ikke laver noget fejl.
Vi kan derfor ikke forstå hvorfor den laver fejl i vores originale kode.
hjælp!
