ChAiN SaW
Lt. Commander
- Registriert
- Apr. 2011
- Beiträge
- 1.059
Mahlzeit,
ich hatte am Anfang des Studiums mal ein Programm geschrieben, es war recht simpel aber hat funktioniert. Nun wollte ich dieses Programm wieder zum laufen bekommen, jedoch bekomme ich das Programm in Eclipse leider nicht mehr zum laufen!
Kann mir jmd helfen das zum laufen zu bekommen bzw. falls es an Eclipse liegt, ein alternatives Programm zu finden?
FSK.java
Movie.java
MovieStore.java
ich hatte am Anfang des Studiums mal ein Programm geschrieben, es war recht simpel aber hat funktioniert. Nun wollte ich dieses Programm wieder zum laufen bekommen, jedoch bekomme ich das Programm in Eclipse leider nicht mehr zum laufen!
Kann mir jmd helfen das zum laufen zu bekommen bzw. falls es an Eclipse liegt, ein alternatives Programm zu finden?
FSK.java
Code:
import java.util.ArrayList;
import java.util.List;
public enum FSK {
FSK6, FSK12, FSK16, FSK18;
public static List<FSK> getFSKList(int age) {
List<FSK> list = new ArrayList<FSK>();
if (age >= 6)
list.add(FSK6);
if (age >= 12)
list.add(FSK12);
if (age >= 16)
list.add(FSK16);
if (age >= 18)
list.add(FSK18);
return list;
}
}
Movie.java
Code:
class Movie {
public final String name;
public final FSK fsk;
private int serial = 0;
private boolean isRent = false;
public Movie(String name, FSK fsk) {
this.name = name;
this.fsk = fsk;
}
public Movie(Movie other) {
this.name = other.name;
this.fsk = other.fsk;
this.serial = other.serial;
}
public void setSerial(int serial) {
this.serial = serial;
}
public int getSerial() {
return serial;
}
public boolean rent() {
if (isRent)
return false;
isRent = true;
return true;
}
public void giveBack() {
isRent = false;
}
public boolean isAvailable() {
return !isRent;
}
@Override
public String toString() {
return serial + ". "+ name + " (" + fsk + ")";
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Movie)) {
return false;
}
Movie other = (Movie) o;
return name.equals(other.name);
}
@Override
public int hashCode() {
int hash = 5;
hash = 41 * hash + (this.name != null ? this.name.hashCode() : 0);
return hash;
}
}
MovieStore.java
Code:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class MovieStore {
private List<Movie> movies;
private int serial = 0;
public MovieStore() {
movies = new ArrayList<Movie>();
}
public boolean add(Movie movie) {
if (movies.contains(movie))
return false;
movie.setSerial(++serial);
return movies.add(movie);
}
public List<Movie> getMovies() {
List<Movie> copy = new ArrayList<Movie>();
for (Movie movie : movies)
copy.add(new Movie(movie));
return copy;
}
public Movie rentMovie(int serial) {
Movie movieToRent = null;
boolean found = false;
for (Movie movie : movies) {
if (!found && movie.getSerial() == serial) {
found = true;
movieToRent = movie;
}
}
if (movieToRent == null)
return null;
boolean success = movieToRent.rent();
if (success)
return movieToRent;
return null;
}
public void printAvailableMovies(int age) {
List<FSK> fskList = FSK.getFSKList(age);
for (Movie movie : movies) {
if (movie.isAvailable() && fskList.contains(movie.fsk))
System.out.println(movie);
}
}
public static void main(String[] args) {
MovieStore movieStore = new MovieStore();
movieStore.add(new Movie("Am Limit", FSK.FSK6));
movieStore.add(new Movie("Kill Bill vol. 1", FSK.FSK18));
movieStore.add(new Movie("Matrix", FSK.FSK16));
while (true) {
Scanner in = new Scanner(System.in);
System.out.print("Filme bis zu welchem Alter? ");
int age = in.nextInt();
movieStore.printAvailableMovies(age);
System.out.print("Welchen Film möchten Sie ausleihen? ");
int serial = in.nextInt();
Movie rentedMovie = movieStore.rentMovie(serial);
if (rentedMovie == null) {
System.out.println("Film mit der Seriennummer " + serial
+ " konnte nicht ausgeliehen werden.");
} else {
System.out.println(rentedMovie + " ausgeliehen.");
}
}
}
}