Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.idea
target
17 changes: 17 additions & 0 deletions track/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>traiing</groupId>
<artifactId>track</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>26</maven.compiler.source>
<maven.compiler.target>26</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package training.sprint1.backlog.prime_numbers;

/**
* Exercise
* Create a private method to print all prime numbers up to 1000. Call this
* from a main method. Remember to use sensible method and variable names,
* and add documentation where necessary! Remember to use the debugger if something goes wrong!
*/
public class PrimeNumbers {
/**
* Checks if a divisor is a perfect factor of a target number.
*/
private boolean isFactor(int target, int divisor) {
return target % divisor == 0;
}

/**
* Checks whether a given int is a prime number ( a whole number greater than 1 that has exactly two factors: 1 and itself)
*
* @param num the whole number to check
* @return a boolean value, true if prime, false otherwise.
*/
private boolean isPrime(int num) {
if (num <= 1) return false;
if (num == 2) return true;
if (isFactor(num, 2)) return false; // even numbers are not prime numbers a part from 2.

int factor = 3;
while (factor * factor <= num) {
Comment thread
eediallo marked this conversation as resolved.
if (isFactor(num, factor)) return false;
factor += 2; // make sure we only check odd numbers
}
return true;
}

private void printPrimeNumbersUpTo1000() {
for (int i = 1; i <= 1000; i++) {
if (isPrime(i)) {
System.out.println(i);
}
}
}

public static void main(String[] args) {
new PrimeNumbers().printPrimeNumbersUpTo1000();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package training.sprint1.backlog.reverse_numbers;

/**
* Create a private method that accepts a number as an argument and returns the number in reverse.
* For example, an input of 3956 should return 6593. Create code to call this from a main method. Remember
* to use sensible method and variable names, and add documentation. Remember to use the debugger if something goes wrong!
*/
public class NumberReverser {
/**
* reverses the digits of an integer using Math.log10 to determine loop count.
*
* @param num The integer to be reversed
* @return The reversed integer
* @implNote this method assumes that the input fits within
Comment thread
eediallo marked this conversation as resolved.
* the integer boundaries and does not account for overflow with Integer.MAX_VALUE.
*/
private int reverseInteger(int num) {
int reversed = 0;

int digitCount = (int) Math.log10(Math.abs(num)) + 1;

for (int i = 0; i < digitCount; i++) {
int lastDigit = num % 10;
reversed = (reversed * 10) + lastDigit;
num = num / 10;
}

return reversed;
}

public static void main(String[] args) {
NumberReverser reverseNumbers = new NumberReverser();
int reversedNumber = reverseNumbers.reverseInteger(-994994);
int reversedNumber1 = reverseNumbers.reverseInteger(0);
System.out.println(reversedNumber);
System.out.println(reversedNumber1);
}
}