mirror of https://github.com/01-edu/public.git
zanninso
1 year ago
committed by
GitHub
5 changed files with 323 additions and 0 deletions
@ -0,0 +1,73 @@
|
||||
## DifferenceBetweenDate |
||||
|
||||
### Instructions |
||||
|
||||
Create a file `DifferenceBetweenDate.java`. |
||||
|
||||
Write a function `durationBetweenTime` that returns the duration between the times as parameter. Must always be positive. |
||||
Write a function `periodBetweenDate` that returns the period between the dates as parameter.Must always be positive. |
||||
Write a function `numberOfHoursBetweenDateTime` that returns the number of hours between the date times as parameter. Must always be positive. |
||||
|
||||
### Expected Functions |
||||
|
||||
```java |
||||
import java.time.Duration; |
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
import java.time.LocalTime; |
||||
import java.time.Period; |
||||
|
||||
public class DifferenceBetweenDate { |
||||
|
||||
public static Duration durationBetweenTime(LocalTime localTime1, LocalTime localTime2) { |
||||
// your code here |
||||
} |
||||
|
||||
public static Period periodBetweenDate(LocalDate date1, LocalDate date2) { |
||||
// your code here |
||||
} |
||||
|
||||
public static Long numberOfHoursBetweenDateTime(LocalDateTime dateTime1, LocalDateTime dateTime2) { |
||||
// your code here |
||||
} |
||||
|
||||
} |
||||
``` |
||||
|
||||
### Usage |
||||
|
||||
Here is a possible ExerciseRunner.java to test your function : |
||||
|
||||
```java |
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
import java.time.LocalTime; |
||||
|
||||
public class ExerciseRunner { |
||||
|
||||
public static void main(String[] args) { |
||||
Duration duration = DifferenceBetweenDate.durationBetweenTime(LocalTime.of(12, 54, 32), LocalTime.of(21, 23, 53)); |
||||
System.out.println(duration.toHoursPart() + "H" + duration.toMinutesPart() + "M" + duration.toSecondsPart() + "S"); |
||||
Period period = DifferenceBetweenDate.periodBetweenDate(LocalDate.of(2020, 10, 13), LocalDate.of(2022, 5, 8)); |
||||
System.out.println(period.getYears() + "Y" + period.getMonths() + "M" + period.getDays() + "D"); |
||||
System.out.println(DifferenceBetweenDate.numberOfHoursBetweenDateTime(LocalDateTime.of(2022, 4, 12, 16, 18, 56), LocalDateTime.of(2022, 5, 10, 21, 54, 56))); |
||||
} |
||||
} |
||||
``` |
||||
|
||||
and its output : |
||||
```shell |
||||
$ javac *.java -d build |
||||
$ java -cp build ExerciseRunner |
||||
8H29M21S |
||||
1Y6M25D |
||||
677 |
||||
$ |
||||
``` |
||||
|
||||
### Notions |
||||
[LocalDate](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDate.html) |
||||
[LocalTime](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalTime.html) |
||||
[LocalDateTime](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDateTime.html) |
||||
[DateTimeFormatter](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/format/DateTimeFormatter.html) |
||||
[Locale](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html) |
@ -0,0 +1,69 @@
|
||||
## FormatDate |
||||
|
||||
### Instructions |
||||
|
||||
Create a file `FormatDate.java`. |
||||
|
||||
Write a function `formatToFullText` that returns a formatted string using the date as parameter. The awaited format is `Le 22 aoû. de l'an 2021 à 13h25m et 46s` |
||||
Write a function `formatSimple` that returns a formatted string using the date as parameter. The awaited format is `febbraio 13 22` |
||||
Write a function `formatIso` that returns a formatted string using the time as parameter. The awaited format is `16:18:56.8495847` |
||||
|
||||
### Expected Functions |
||||
|
||||
```java |
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
import java.time.LocalTime; |
||||
|
||||
public class FormatDate { |
||||
|
||||
public static String formatToFullText(LocalDateTime dateTime) { |
||||
// your code here |
||||
} |
||||
|
||||
public static String formatSimple(LocalDate date) { |
||||
// your code here |
||||
} |
||||
|
||||
public static String formatIso(LocalTime time) { |
||||
// your code here |
||||
} |
||||
|
||||
} |
||||
``` |
||||
|
||||
### Usage |
||||
|
||||
Here is a possible ExerciseRunner.java to test your function : |
||||
|
||||
```java |
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
import java.time.LocalTime; |
||||
|
||||
public class ExerciseRunner { |
||||
|
||||
public static void main(String[] args) { |
||||
System.out.println(FormatDate.formatToFullText(LocalDateTime.of(2021, 8, 22, 13, 25, 46))); |
||||
System.out.println(FormatDate.formatSimple(LocalDate.of(2022, 2, 13))); |
||||
System.out.println(FormatDate.formatIso(LocalTime.of(16, 18, 56, 8495847))); |
||||
} |
||||
} |
||||
``` |
||||
|
||||
and its output : |
||||
```shell |
||||
$ javac *.java -d build |
||||
$ java -cp build ExerciseRunner |
||||
Le 22 août de l'an 2021 à 13h25m et 46s |
||||
febbraio 13 22 |
||||
16:18:56.008495847 |
||||
$ |
||||
``` |
||||
|
||||
### Notions |
||||
[LocalDate](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDate.html) |
||||
[LocalTime](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalTime.html) |
||||
[LocalDateTime](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDateTime.html) |
||||
[DateTimeFormatter](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/format/DateTimeFormatter.html) |
||||
[Locale](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html) |
@ -0,0 +1,63 @@
|
||||
## ParseDate |
||||
|
||||
### Instructions |
||||
|
||||
Create a file `ParseDate.java`. |
||||
|
||||
Write a function `parseIsoFormat` that returns a date object using the string as parameter. The date as a parameter is in ISO format (`2022-04-25T20:51:28.709039322`) |
||||
Write a function `parseFullTextFormat` that returns a date object using the string as parameter. The date as a parameter use a text format (`lundi 25 avril 2022`) |
||||
Write a function `parseTimeFormat` that returns a time object using the string as parameter. The date as a parameter use a text format (`09 heures du soir, 07 minutes et 23 secondes`) |
||||
|
||||
### Expected Functions |
||||
|
||||
```java |
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
import java.time.LocalTime; |
||||
|
||||
public class ParseDate { |
||||
|
||||
public static LocalDateTime parseIsoFormat(String stringDate) { |
||||
// your code here |
||||
} |
||||
|
||||
public static LocalDate parseFullTextFormat(String stringDate) { |
||||
// your code here |
||||
} |
||||
|
||||
public static LocalTime parseTimeFormat(String stringDate) { |
||||
// your code here |
||||
} |
||||
|
||||
} |
||||
``` |
||||
|
||||
### Usage |
||||
|
||||
Here is a possible ExerciseRunner.java to test your function : |
||||
```java |
||||
public class ExerciseRunner { |
||||
public static void main(String[] args) { |
||||
System.out.println(ParseDate.parseIsoFormat("2022-04-25T20:51:28.709039322")); |
||||
System.out.println(ParseDate.parseFullTextFormat("lundi 25 avril 2022")); |
||||
System.out.println(ParseDate.parseTimeFormat("09 heures du soir, 07 minutes et 23 secondes")); |
||||
} |
||||
} |
||||
``` |
||||
|
||||
and its output : |
||||
```shell |
||||
$ javac *.java -d build |
||||
$ java -cp build ExerciseRunner |
||||
2022-04-25T20:51:28.709039322 |
||||
2022-04-25 |
||||
21:07:23 |
||||
$ |
||||
``` |
||||
|
||||
### Notions |
||||
[LocalDate](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDate.html) |
||||
[LocalTime](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalTime.html) |
||||
[LocalDateTime](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDateTime.html) |
||||
[DateTimeFormatter](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/format/DateTimeFormatter.html) |
||||
[Locale](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html) |
@ -0,0 +1,63 @@
|
||||
## RegexMatch |
||||
|
||||
### Instructions |
||||
|
||||
Create a file `RegexMatch.java`. |
||||
|
||||
Write a function `containsOnlyAlpha` that returns `true` if the string as parameter contains only alpha characters. |
||||
Write a function `startWithLetterAndEndWithNumber` that returns `true` if the string as parameter starts with one letter and ends with one number. |
||||
Write a function `containsAtLeast3SuccessiveA` that returns `true` if the string as parameter contains at least 3 successive A. |
||||
|
||||
### Expected Functions |
||||
```java |
||||
public class RegexMatch { |
||||
public static boolean containsOnlyAlpha(String s) { |
||||
// your code here |
||||
} |
||||
|
||||
public static boolean startWithLetterAndEndWithNumber(String s) { |
||||
// your code here |
||||
} |
||||
|
||||
public static boolean containsAtLeast3SuccessiveA(String s) { |
||||
// your code here |
||||
} |
||||
} |
||||
``` |
||||
|
||||
### Usage |
||||
|
||||
Here is a possible ExerciseRunner.java to test your function |
||||
: |
||||
|
||||
```java |
||||
import java.io.IOException; |
||||
|
||||
public class ExerciseRunner { |
||||
|
||||
public static void main(String[] args) throws IOException { |
||||
System.out.println(RegexReplace.containsOnlyAlpha("azejkdfhjsdf")); |
||||
System.out.println(RegexReplace.containsOnlyAlpha("azejkd fhjsdf")); |
||||
System.out.println(RegexReplace.startWithLetterAndEndWithNumber("asjd jd34jds jkfd6f5")); |
||||
System.out.println(RegexReplace.startWithLetterAndEndWithNumber("asjd jd34jds jkfd6.")); |
||||
System.out.println(RegexReplace.containsAtLeast3SuccessiveA("sdjkAAAAAsdjksj")); |
||||
System.out.println(RegexReplace.containsAtLeast3SuccessiveA("sdjkAAsdaaasdjksj")); |
||||
} |
||||
} |
||||
``` |
||||
|
||||
and its output : |
||||
```shell |
||||
$ javac *.java -d build |
||||
$ java -cp build ExerciseRunner |
||||
true |
||||
false |
||||
true |
||||
false |
||||
true |
||||
false |
||||
$ |
||||
``` |
||||
|
||||
### Notions |
||||
[Pattern](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html) |
@ -0,0 +1,55 @@
|
||||
## RegexReplace |
||||
|
||||
### Instructions |
||||
|
||||
Create a file `RegexReplace.java`. |
||||
|
||||
Write a function `removeUnits` that returns the string where the units `cm` and `€` is removed if it followed directly a number and followed by a space. |
||||
Write a function `removeFeminineAndPlural` that returns the string where the mark of feminine and plural is removed from word : |
||||
- if a word ends a mark of plural (with s or x), remove it. |
||||
- if it ends with an e or if the e is followed by the mark of plural, remove the it |
||||
- if it ends with `le` following `el` (or if `le` is followed by plural), remove it. |
||||
|
||||
### Expected Functions |
||||
```java |
||||
public class RegexReplace { |
||||
public static String removeUnits(String s) { |
||||
// your code here |
||||
} |
||||
|
||||
public static String removeFeminineAndPlural(String s) { |
||||
// your code here |
||||
} |
||||
} |
||||
``` |
||||
|
||||
### Usage |
||||
|
||||
Here is a possible ExerciseRunner.java to test your function |
||||
: |
||||
```java |
||||
import java.io.IOException; |
||||
|
||||
public class ExerciseRunner { |
||||
public static void main(String[] args) throws IOException { |
||||
System.out.println(RegexReplace.removeUnits("32cm et 50€")); |
||||
System.out.println(RegexReplace.removeUnits("32 cm et 50 €")); |
||||
System.out.println(RegexReplace.removeUnits("32cms et 50€!")); |
||||
System.out.println(RegexReplace.removeFeminineAndPlural("le lapin joue à la belle balle avec des animaux rigolos pour gagner les billes bleues")); |
||||
} |
||||
} |
||||
``` |
||||
|
||||
and its output : |
||||
```shell |
||||
$ javac *.java -d build |
||||
$ java -cp build ExerciseRunner |
||||
32 et 50 |
||||
32 cm et 50 € |
||||
32cms et 50€! |
||||
l lapin jou à la bel ball avec d animau rigolo pour gagner l bill bleu |
||||
$ |
||||
``` |
||||
|
||||
### Notions |
||||
[Pattern](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html) |
Loading…
Reference in new issue