Skip to content
Snippets Groups Projects
Commit 6cf42f69 authored by magnus's avatar magnus
Browse files

Add example code for kort forkart video series

parent 8a67db87
No related branches found
No related tags found
No related merge requests found
Showing
with 772 additions and 0 deletions
package kortforklart;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class App extends Application{
@Override
public void start(final Stage primaryStage) throws Exception {
primaryStage.setTitle("My app");
FXMLLoader fxml = (FXMLLoader.load(App.class.getResource("Ui.fxml")));
AppController controller = (AppController) fxml.getController();
primaryStage.setScene(new Scene(FXMLLoader.load(App.class.getResource("Ui.fxml"))));
primaryStage.show();
}
public static void main(String[] args) {
App.launch(args);
}
}
package kortforklart;
import javafx.fxml.FXML;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
public class AppController {
@FXML private TextField brukernavn, passord;
@FXML private TextArea output;
@FXML
public void onLogIn() {
String brukernavn = this.brukernavn.getText();
String passord = this.passord.getText();
if (brukernavn.equals("admin") && passord.equals("admin")) {
output.setText("Gratulerer du har logget inn!");
}
else {
output.setText("Feil brukernavn eller passord");
}
}
}
package kortforklart;
import java.util.ArrayList;
import java.util.List;
public class Athlete implements Comparable<Athlete>{
private String name;
private List<Medal> medals = new ArrayList<>();
public Athlete(String name) {
this.name = name;
}
public void addMedal(Medal medal) {
if (this.hasMedal(medal)) {
this.medals.add(medal);
}
if (medal.getAthlete() != this) {
medal.setAthlete(this);
}
}
public void removeMedal(Medal medal) {
this.medals.remove(medal);
}
public boolean hasMedal(Medal medal) {
return this.medals.contains(medal);
}
public String getName() {
return this.name;
}
public static void main(String[] args) {
Athlete athlete1 = new Athlete("Johannes Thingnes Bø");
Athlete athlete2 = new Athlete("Tarjei Bø");
Medal medal = new Medal("Gold");
medal.setAthlete(athlete1);
athlete2.addMedal(medal);
}
@Override
public int compareTo(Athlete o) {
// Positivt tall hvis this er større enn o
// 0 hvis de er like
// Negativt tall hvis this er mindre enn o.
return this.medals.size() - o.medals.size();
}
}
package kortforklart;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class AthleteComparator implements Comparator<Athlete>{
@Override
public int compare(Athlete o1, Athlete o2) {
return o1.getName().compareTo(o2.getName());
}
public static void main(String[] args) {
Athlete athlete1 = new Athlete("1");
Athlete athlete2 = new Athlete("2");
List<Athlete> athletes = new ArrayList<>();
athletes.add(athlete1);
athletes.add(athlete2);
Collections.sort(athletes, new AthleteComparator());
}
}
package kortforklart;
import java.util.ArrayList;
import java.util.List;
public class AthleteMany {
private String name;
private List<MedalMany> medals = new ArrayList<>();
public AthleteMany(String name) {
this.name = name;
}
public void addMedal(MedalMany medal) {
if (!this.hasMedal(medal)) {
this.medals.add(medal);
}
if (!medal.hasAthlete(this)) {
medal.addAthlete(this);
}
}
public void removeMedal(MedalMany medal) {
this.medals.remove(medal);
}
public boolean hasMedal(MedalMany medal) {
return this.medals.contains(medal);
}
public static void main(String[] args) {
AthleteMany athlete1 = new AthleteMany("Johannes Thingnes Bø");
AthleteMany athlete2 = new AthleteMany("Tarjei Bø");
MedalMany medal = new MedalMany("Gold");
medal.addAthlete(athlete1);
medal.addAthlete(athlete2);
}
}
package kortforklart;
public class Book {
private String name;
private Book sequel;
private Book prequel;
private boolean isRented;
private int numberOfPages;
public Book(String name, int numberOfPages) {
this.name = name;
this.numberOfPages = numberOfPages;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Book getSequel() {
return sequel;
}
public void setSequel(Book sequel) {
this.sequel = sequel;
}
public Book getPrequel() {
return prequel;
}
public void setPrequel(Book prequel) {
this.prequel = prequel;
}
public boolean isRented() {
return isRented;
}
public void setRented(boolean isRented) {
this.isRented = isRented;
}
public int getNumberOfPages() {
return this.numberOfPages;
}
}
package kortforklart;
import java.util.Comparator;
public class BookComparator implements Comparator<Book> {
@Override
public int compare(Book o1, Book o2) {
return o1.getName().compareTo(o2.getName());
}
}
package kortforklart;
import java.util.ArrayList;
import java.util.List;
public class CapsuleCoffeeMaker implements CoffeeMaker{
@Override
public void makeCoffee() {
System.out.println("Insert a capsule and makes coffee");
}
public void cleanCapsules() {
System.out.println("Cleaning capsules");
}
public static void main(String[] args) {
CapsuleCoffeeMaker capsuleMaker = new CapsuleCoffeeMaker();
Moccamaster moccaMaster = new Moccamaster();
List<CoffeeMaker> coffeeMakers = new ArrayList<>();
coffeeMakers.add(capsuleMaker);
coffeeMakers.add(moccaMaster);
for (CoffeeMaker coffeeMaker: coffeeMakers) {
coffeeMaker.makeCoffee();
}
}
}
package kortforklart;
public class Car {
private String brand;
private String registrationNumber;
protected String model;
public Car(String brand, String registrationNumber, String model) {
this.brand = brand;
this.registrationNumber = registrationNumber;
this.model = model;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getRegistrationNumber() {
return registrationNumber;
}
public void setRegistrationNumber(String registrationNumber) {
this.registrationNumber = registrationNumber;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String toString() {
return this.getBrand() + "," + this.getModel() + "," + this.getRegistrationNumber();
}
}
package kortforklart;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class CarManager {
private List<Car> cars = new ArrayList<>();
public void addCar(Car car) {
cars.add(car);
}
public void writeCarsToFile(String filename) {
try {
PrintWriter writer = new PrintWriter(filename);
for (Car car: cars) {
writer.println(car);
}
writer.flush();
writer.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void getCarsFromFile(String filename) throws FileNotFoundException {
Scanner scanner = new Scanner(new File(filename));
// this.cars = new ArrayList<>();
while(scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] lineInfo = line.split(",");
String brand = lineInfo[0];
String model = lineInfo[1];
String regNr = lineInfo[2];
Car car = new Car(brand, regNr, model);
this.addCar(car);
}
scanner.close();
}
public static void main(String[] args) {
CarManager manager = new CarManager();
manager.addCar(new Car("Mitsubishi", "AA1111", "Carisma"));
manager.addCar(new Car("Tesla", "EL24244", "Model 3"));
manager.addCar(new Car("Ford", "AA1112", "Focus"));
manager.addCar(new Car("Volkswagen", "BB3333", "Golf"));
manager.writeCarsToFile("carlist2.txt");
try {
manager.getCarsFromFile("carlist.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("Filnavnet finnes ikke");
}
manager.writeCarsToFile("carlist3.txt");
}
}
package kortforklart;
public interface CoffeeMaker {
public void makeCoffee();
}
package kortforklart;
public class Debugger {
private String adress;
public void setAddress(String adress) {
if (!validateAdress(adress)) {
throw new IllegalArgumentException("invalid address");
}
this.adress = adress;
}
public String getAdress() {
return this.adress;
}
public boolean validateAdress(String streetNameIncludingNumber) {
String[] streetAndNumberArray = streetNameIncludingNumber.split(" ");
if(streetAndNumberArray.length < 2) {
return false;
}
String number = streetAndNumberArray[streetAndNumberArray.length-1];
for(int j =0; j<streetAndNumberArray.length-1; j++) {
String street = streetAndNumberArray[j];
for (int i = 0; i<street.length(); i++) {
char c = street.charAt(i);
if (i == 0 && !Character.isUpperCase(c)) {
return false;
}
if (!Character.isLetter(c)) {
return true;
}
}
}
// Number must be a number
if (!number.matches("^[0-9]*$")) {
return false;
}
return true;
}
}
package kortforklart;
public class Dog {
private String name;
private int age;
private String breed;
public Dog(String name, int age, String breed) {
this.name = name;
this.age = age;
this.breed = breed;
}
public Dog(int age, String breed) {
this.age = age;
this.breed = breed;
}
public Dog(String breed) {
this(0, breed);
}
public void bark() {
System.out.println("Woof");
}
public int getDogYears() {
return this.age * 7;
}
public String toString() {
return "Hei, jeg heter " + name + " og er " + this.age + " år gammel";
}
public static void main(String[] args) {
Dog pluto = new Dog("Pluto", 10, "Golden Retriever");
pluto.bark();
System.out.println(pluto.getDogYears());
Dog tinka = new Dog("Puddel");
System.out.println(pluto);
System.out.println(tinka);
}
}
package kortforklart;
public class ElectricCar extends Car{
private int batterySize;
public ElectricCar(String brand, String registrationNumber, String model) {
super(brand, registrationNumber, model);
}
public void loadVehicle() {
if (this.model.equals("Tesla")) {
System.out.println("Du kan bruke en hurtiglader");
}
}
public static void main(String[] args) {
Car car = new ElectricCar("3", "EL22", "Tesla");
if (car instanceof ElectricCar) {
ElectricCar castedCar = (ElectricCar) car;
castedCar.loadVehicle();
}
}
}
package kortforklart;
import java.util.Arrays;
import java.util.List;
public class ExamResult {
private final String candidateId; // Skal aldri kunne endres
private String result; // Skal være A-F eller null
private int year; // 1900-2100
private char semester; // Skal være S, H, V.
private String subject;
private static List<String> validResults = Arrays.asList("A", "B", "C", "D", "E", "F");
public ExamResult(String candidateId) {
this.candidateId = candidateId;
}
public ExamResult(String candidateId, String result) {
this.candidateId = candidateId;
this.setResult(result);
}
public boolean hasPassed() {
return this.result.equals("F") && this.result != null;
}
public String getCandidateId() {
return candidateId;
}
public String getResult() {
return result;
}
public void setResult(String result) {
if (validResults.contains(result)) {
this.result = result;
}
else {
throw new IllegalArgumentException("Ikke gyldig resultat");
}
}
public int getYear() {
return year;
}
public void setYear(int year) {
if (year < 1900 || year > 2100) {
throw new IllegalArgumentException("Ugyldig år");
}
this.year = year;
}
public char getSemester() {
return semester;
}
public void setSemester(char semester) {
if (semester != 'H' && semester != 'V' && semester != 'S') {
throw new IllegalArgumentException("Ugyldig semester");
}
this.semester = semester;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
}
package kortforklart;
public class ImpericalToMetricConverter {
public static double inchesToCm(double inches) {
return inches * 2.54;
}
public static double metersToFeet(double meters) {
return meters *0.3;
}
public static void main(String[] args) {
System.out.println(ImpericalToMetricConverter.inchesToCm(50));
int tall = Integer.parseInt("2");
}
}
package kortforklart;
import java.util.ArrayList;
import java.util.List;
public class Kollektiv {
private String[] rooms;
private String name;
private List<String> guests = new ArrayList<>();
public Kollektiv(String name, int numberOfRooms) {
this.name = name;
this.rooms = new String[numberOfRooms];
}
public void setPersonAtRoomNumber(String person, int roomNumber) {
this.rooms[roomNumber] = person;
}
public String getPersonAtRoomNumber(int roomNumber) {
return this.rooms[roomNumber];
}
public void addGuest(String name) {
// Check that the guest doesn't already exist
if (!this.hasGuest(name)) {
this.guests.add(name);
}
}
public boolean hasGuest(String name) {
return this.guests.contains(name);
}
public void removeGuest(String name) {
this.guests.remove(name);
}
public static void main(String[] args) {
Kollektiv javaKollektivet = new Kollektiv("javakollektivet", 4);
javaKollektivet.setPersonAtRoomNumber("Vegard", 0);
javaKollektivet.setPersonAtRoomNumber("Magnus", 1);
System.out.println(javaKollektivet.getPersonAtRoomNumber(0));
javaKollektivet.addGuest("Stein");
System.out.println(javaKollektivet.hasGuest("Stein"));
System.out.println(javaKollektivet.hasGuest("Vilde"));
}
}
package kortforklart;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class Library {
private List<Book> books = new ArrayList<>();
public void addBook(Book book) {
this.books.add(book);
}
public void rentBook(Book book) {
book.setRented(true);
}
public void returnBook(Book book) {
book.setRented(false);
}
public void functionalInterfaces() {
Comparator<Book> comparator = new BookComparator();
Collections.sort(this.books, comparator);
Collections.sort(this.books, new Comparator<Book>() {
@Override
public int compare(Book b1, Book b2) {
return b1.getName().compareTo(b2.getName());
}
});
Collections.sort(this.books, (b1, b2) -> b1.getName().compareTo(b2.getName()));
Predicate<Book> predicate = new Predicate<Book>() {
public boolean test(Book b) {
return b.getNumberOfPages() > 10;
}
};
this.books.stream().filter(b -> b.getNumberOfPages() > 10).collect(Collectors.toList());
}
public void playWithStream() {
List<Book> nonRentedBooks = this.books.stream().filter(book -> book.isRented() == false).collect(Collectors.toList());
List<Book> booksWithoutPrequelOrSequel = this.books.stream().filter(
book -> book.getPrequel() == null && book.getPrequel() == null)
.collect(Collectors.toList());
int totalNumberOfPages = this.books.stream().mapToInt(Book::getNumberOfPages).sum();
int totalNumberOfPagesInNonRentedBooks = this.books.stream().filter(book -> book.isRented() == false).mapToInt(Book::getNumberOfPages).sum();
boolean isAnyBookWithoutPrequelOrSequel = this.books.stream().anyMatch(book -> book.getPrequel() == null && book.getPrequel() == null);
int totalNumberOfPagesWithReduce = this.books.stream().mapToInt(Book::getNumberOfPages).reduce((b1, b2) -> b1 + b2).getAsInt();
}
public static void main(String[] args) {
Book lotr1 = new Book("The fellowship of the ring", 350);
Book lotr2 = new Book("The two towers", 377);
Book lotr3 = new Book("Return of the king", 420);
lotr1.setSequel(lotr2);
lotr2.setPrequel(lotr1);
lotr2.setSequel(lotr3);
lotr3.setPrequel(lotr2);
Book java = new Book("Big Java", 510);
Library library = new Library();
library.addBook(lotr1);
library.addBook(lotr2);
library.addBook(lotr3);
library.addBook(java);
}
}
package kortforklart;
public class MainApplication {
public static void main(String[] args) {
ExamResult examResult = new ExamResult("100");
examResult.setResult("A");
System.out.println(examResult.getResult());
}
}
package kortforklart;
public class Medal {
private String metal;
private Athlete athlete;
public Medal(String metal) {
this.metal = metal;
}
public void setAthlete(Athlete athlete) {
if (this.athlete != null) {
this.athlete.removeMedal(this);
}
this.athlete = athlete;
if (!athlete.hasMedal(this)) {
athlete.addMedal(this);
}
}
public Athlete getAthlete() {
return this.athlete;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment