> For the complete documentation index, see [llms.txt](https://nissan-goldberg.gitbook.io/java101/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nissan-goldberg.gitbook.io/java101/lesson-1/more-exercises.md).

# More Exercises

## Exercise - Swap Numbers

![Arrow Swap Icons - Download Free Vector Icons | Noun Project](https://static.thenounproject.com/png/344042-200.png)

כתבו תוכנית המחליפה את הערכים שלהם

### דרך א

```java
public class Main {
    public static void main(String[] args) {
        int num1 = MyConsole.readInt("enter 1st int: ");
        int num2 = MyConsole.readInt("enter 2nd int: ");

        int temp = num1;
        num1 = num2;
        num2 = temp;

        System.out.println("After swaping:" + " num1 = " + num1 + ", num2 = " + num2);
    }
}
```

```
enter 1st int:  100
enter 2nd int:  15
After swaping: num1 = 15, num2 = 100
```

### דרך ב - בלי משתנה שלישי

```java
public class Main {
    public static void main(String[] args) {
        int num1 = MyConsole.readInt("enter 1st int: ");
        int num2 = MyConsole.readInt("enter 2nd int: ");

        num1 = num1 + num2;
        num2 = num1 - num2;
        num1 = num1 - num2;
        System.out.println("After swaping:" + " num1 = " + num1 + ", num2 = " + num2);
    }
}
```

```
enter 1st int:  100
enter 2nd int:  15
After swaping: num1 = 15, num2 = 100
```

הסבר:

```java
input: num1=100, num2=15

num1 = num1 + num2; //(num1: 115) = 100 + 15
num2 = num1 - num2; //(num2: 100) = 115 - 15
num1 = num1 - num2; //(num1: 15)  = 115 - 100
```

## Exercise - Print Digits

![Numeral - Math Definitions - Letter N](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQlBEwWJMQ8Ywb_IzZRRBQ61kw6NrMO5sdZ2g\&usqp=CAU)

כתוב תכנית

* הקולטת מספר שלם תלת-ספרתי ומדפיסה את כל הספרות שלו בנפרד
* מדפיסה את סכום הספרות שלו.

```java
public class Main {
    public static void main(String[] args) {
        int num = MyConsole.readInt("enter 3-digit int: ");

        if (num>100 && num<1000){
            int singles = num % 10;
            int tens = num / 10 % 10;
            int hundreds = num / 100;

            System.out.println(hundreds);
            System.out.println(tens);
            System.out.println(singles);
            System.out.println("sum is: "+ (singles+tens+hundreds));
        } else {
            System.out.println("not valid number");
        }

    }
}
```

```
enter 3-digit int:  567
5
6
7
sum is: 18
```

> מומלץ לשים כאן while על מנת שמהשמתש יכול להזין עוד מספר אם הוא לא בתווך

## Exercise - Clock

![Magis Tempo Wall Clock by Lumens - Dwell](https://images.dwell.com/photos/6063391372700811264/6580168109672751104/medium.jpg)

כתוב תכנית שקולטת מספר שלם שמהווה מספר שניות והופכת אותו לשעות, דקות ושניות. ומדפיסה את ומדפיסה אותם. לדוגמה, מספר 3669 הופך שעה 1 ,דקה 1 ,9 שניות.

```java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter seconds: ");
        int seconds_input = scanner.nextInt();

        int hours = seconds_input / 3600;
        int minutes = (seconds_input / 60) % 60 ;
        int seconds = seconds_input % 60;

        System.out.print("hours: " + hours);
        System.out.print(", minutes: " + minutes);
        System.out.print(", seconds: " + seconds + "\n");
    }
}
```

```
Enter seconds: 3669
hours: 1, minutes: 1, seconds: 9
```

## Exercise - Roots of a quadratic equation

![Graphs of Quadratic Functions | Boundless Algebra](https://s3-us-west-2.amazonaws.com/courses-images/wp-content/uploads/sites/1861/2017/06/23162030/qjmqf6wwrtbi4lslg9jx.png)

נוסחת השורשים

$$
x = \frac{-b\pm\sqrt\[]{b^2-4ac}}{2a}
$$

$$
determinant = \sqrt\[]{b^2-4ac}
$$

```java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        double secondRoot = 0, firstRoot = 0;
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the value of a: ");
        double a = sc.nextDouble();

        System.out.print("Enter the value of b: ");
        double b = sc.nextDouble();

        System.out.print("Enter the value of c: ");
        double c = sc.nextDouble();

        double determinant = (b*b)-(4*a*c);
        double sqrt = Math.sqrt(determinant);

        if(determinant>0){
            firstRoot = (-b + sqrt)/(2*a);
            secondRoot = (-b - sqrt)/(2*a);
            System.out.println("Roots are: "+ firstRoot +" and "+secondRoot);
        }else if(determinant == 0){
            System.out.println("Root is : "+(-b + sqrt)/(2*a));
        }
    }
}
```

```
Enter the value of a: 1
Enter the value of b: -1
Enter the value of c: -6

Roots are: 3.0 and -2.0
```

$$
(x + 2)(x - 3) = 0\  x^2 -1x - 6 = 0
$$

## Exercise -Check if point is in radius of (x,y)

> Hint: use Pythagorean theorem פיתגורס

![Radius, diameter, & circumference | Circles (article) | Khan Academy](https://cdn.kastatic.org/ka-perseus-graphie/a07d522649c735caac2b7e22957d9fbd6ebbb00f.svg)

![distance](https://i.ibb.co/PQXcK5H/distance.png)

$$
distance < radius
$$

```java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        //circle
        System.out.print("Enter x of circle: ");
        double x = sc.nextDouble();

        System.out.print("Enter y of circle: ");
        double y = sc.nextDouble();

        System.out.print("Enter radius: ");
        double radius = sc.nextDouble();

        //point
        System.out.print("Enter x of point: ");
        double x_point = sc.nextDouble();

        System.out.print("Enter y of point: ");
        double y_point = sc.nextDouble();

        //calculation
        double delta_x = x - x_point;
        double delta_y = y - y_point;
        double distance = Math.sqrt(Math.pow(delta_x, 2) + Math.pow(delta_y, 2));

        if (distance < radius)
            System.out.println("Point is inside circle");
        else if (distance == radius)
            System.out.println("Point is on the circles perimeter");
        else
            System.out.println("Point is outside circle");
    }
}
```

```
Enter x of circle: 6
Enter y of circle: 0
Enter radius: 5
Enter x of point: 3
Enter y of point: -4
Point is on the circles perimeter
```

another run

```
Enter x of circle: 0
Enter y of circle: 0
Enter radius: 5
Enter x of point: 5.1
Enter y of point: 0
Point is outside circle
```

## Exercise - Rotate Square


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nissan-goldberg.gitbook.io/java101/lesson-1/more-exercises.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
