# Lesson #1 – headache from Java Basics

So, I`m after first lesson of Java Basics. What can I say? It will be tuff road to achieve goal.

For now we have theory with some small coding. Coach introduced a lot of material that U can find in Udemy Java Basics. He explain everything from beginning. Said about basics type, methods, packages, basic math operations, declaration of class type, method type, differences of private, public, protected. But He always repeat – “You will learn about it later, we will talk about the details later!” So to be honest I cant wait for the weekend to go to school and learn.

Tip for beginner.  You should watch Udemy course before Your course. It will be much more easier to keep up with coach.

But I know theory is theory practice is practice! After 7 hours (sic) of lessons I get headache but I know  it`s worth it!

I write two tiny codes:

1. Calculator:
2. Homework

Calculator:

```package day1;

public class Calculator {

static int a = 5; //declaration class type
static int b = 6; //declaration class type

public static int sum() { //declaration method
}

public static int substraction() { // return method
return a - b;
}

public static int multiplitaction() {
return a * b;
}

public static double division() {
double c = (double)a/b;  // variable projection
return c;
}

public static void main(String[] args) {
int resultSum = sum();
System.out.println("sum " + resultSum);
int resultSubstraction = substraction();
System.out.println("substraction " + resultSubstraction);
int resultMultiplication = multiplitaction();
System.out.println("multiplication " + resultMultiplication);
double resultDivision = division();
System.out.println("division " +  resultDivision);
}
}

```

Homework – at first glance I thought that is easy to do. But after trying to write it I had to think a lot and I get headache 😀

Topic: Write method accepting two arguments int type and which returns result of divide those types in a fraction format. Example: 1 2/5. And You have to remember when You divide two int You get int and You cant division by zero. Catchy isn`t it?

```package homeworks;
public class Homework1 {
public static void main(String[] args) {
System.out.println(divide(7, 5));
System.out.println(divide(10, 5));
System.out.println(divide(10, 0));
}
static String divide(int i, int j) {
if (j != 0) { // check denominator it cant be 0
int div = i / j;
if (i % j == 0) { // check modulo, when it is 0 return string whit out fraction
return "" + div;
} else { // else modulo is not 0 your result should be fraction
int mod = i % j;
return "" + div + " " + mod + "/" + j;
}
} else {
System.out.println("You have been trying to divide by zero");
return "";
}
}
}
```

Two difficult things. First. Method should returns String! Why? Because You have to return division in fraction as example is 1 2/5 not 1.4. Second I didn`t know that You can combine String with int(double etc).

Example:

` return "" + someNumber + "/" + someNumber2`

Modulo is very ancillary calculation. Coach said that we are going to use it a lot of time.

Check this:  7%5 = 2. You know after that Your result is fraction. So You should return total number ( 1 because 5 in 7 is 1) + modulo + denominator.  Know You will ask what about result for ex.  4/8 ? You should correct to 1/2. Yes, You have right. Know I am going to correct this!  Stay tuned!