java3sem2018