Java – die neusten Beiträge

Testmethode schreiben fiese Falle... Java?

Hallo!

In Software-Entwicklung 2 haben wir ein Java Projekt bekommen. Es ist eine Mediathek in welcher man CDs, DVDs und Videospiele ausleihen kann. Nun habe ich eine Aufgabe gestellt bekommen:

Die Mediathek möchte nun noch Bücher ausleihen. Es gibt eine Methode berechneMietgebuehr, welche als Parameter int mietTage entgegeben nimmt und einen Geldbetrag in Eurocent zurückgibt. Hierzu sei gesagt, dass der Zurückgegebene Wert kein int ist, sondern ein Objekt aus einer Klasse "Geldbetrag". Die Mietgebühr sollte sich folgendermaßen berechnen lassen: 500+mietTage*100 für mietTage >= 0. (Wobei ich persönlich den Fall mietTage = 0 eher blöd finde...)

Nun soll ich eine Testmethode schreiben in dem ich assertEquals benutzte und ein Testexemplar _buch1. Das Problem ist, dass wir laut der Aufgabenstellung nicht wissen wie berechneMietgebuehr wirklich implementiert wurde. Ich habe das erstmal so gemacht:

public void testBerechneMietgebuehr()

{

Geldbetrag geld = new Geldbetrag(700);

assertEquals(geld,_buch1.berechneMietgebuehr(2));

}

Jetzt kommt folgendes Problem. Ich bekomme als Rückmeldung:

Bedeutet: Nun wird mir gesagt, wie berechneMietgebuehr implementiert ist. Und egal was ich bei assertEquals hinein schreibe, die Methode "passt sich an":

Ich weiß nicht wie ich das "umgehen" kann... Ich habe schon versucht alles mal private zu machen oder, damit nicht mehr darauf zugegriffen werden kann, aber das funktioniert auch nicht.

Ich hoffe ihr habt einen Tipp oder vielleicht auch Fragen, falls ich es nicht gut erklären konnte. Danke und LG!

Bild zum Beitrag
Computer, programmieren, Java, testen, Informatik, Moodle

Warum funktioniert mein selbstgehosteter Minecraft Server auf Ubuntu Linux nicht?

Hallo,

ich hatte bisher meinen Minecraft-Server auf Windows 10 gehostet und dort in der Windows-Systemsteuerung die Ports für den Server freigegeben. Dies hatte auch immer gut funktioniert, nun wollte ich den Server stattdessen auf Ubuntu installieren.

Dafür nahm ich unter Ubuntu die offizielle server.jar und konfigurierte alles ich konnte normal starten auch wenn dieser text in der Konsole mich irritierte, der bei Windows nicht kam:

WARNING: An illegal reflective access operation has occurred 
WARNING: Illegal reflective access by io.netty.util.internal.PlatformDependent0 (file:/home/benutzer/Schreibtisch/1.8.9/server.jar) to field java.nio.Buffer.address 
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.PlatformDependent0 W
ARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations 
WARNING: All illegal access operations will be denied in a future release März 11, 2021 4:06:02 NACHM. io.netty.util.internal.PlatformDependent <clinit> I
NFORMATION: Your platform does not provide complete low-level API for accessing direct buffers reliably. Unless explicitly requested, heap buffer will always be preferred to avoid potential system unstability.


Falls jemand weiß warum, gerne antworten.

Nun ist es jedenfalls so, dass der Server problemlos startet, ich aber nicht mit localhost joinen kann.

Und auch obwohl ich die Ports für TCP/UDP mit der grafischen Oberfläche freigegeben habe:

, können auch keine anderen Spieler joinen. Wenn ich joine steht folgendes da:

Und in der Konsole das, auch wenn es nicht im latest.log aufgeführt war:

Weiß jemand was ich falsch gemacht habe?

Wieso kann ich nicht mal mit localhost joinen?

Ich habe ihn auf der 1.8.9 gehostet und die aktuelle Ubuntu LTS Version installiert.

Ich muss doch eigentlich die Ports nicht im Router freigeben, wenn ich sie in der Firewall am PC freigebe, oder? Unter Windows ging das ja auch.

Oder habe ich iwi das falsche Java installiert?

Vielen Dank schon im voraus 😊.

Bild zum Beitrag
Technik, Linux, Java, Ubuntu, Minecraft, Minecraft Server, Ubuntu Server, minecraft server hosten

Meistgelesene Beiträge zum Thema Java