From ec126de053cd1343e0c5778a56ea58045d0e3170 Mon Sep 17 00:00:00 2001 From: Masfehico Date: Mon, 7 Dec 2020 18:26:18 +0100 Subject: Big update Implementing the function to add songs. Cleaning a bit everywhere as well. --- jMusicHub.java | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 82 insertions(+), 6 deletions(-) (limited to 'jMusicHub.java') diff --git a/jMusicHub.java b/jMusicHub.java index c95e1e6..0cb43b5 100644 --- a/jMusicHub.java +++ b/jMusicHub.java @@ -1,5 +1,4 @@ -import java.util.Scanner; - +import java.util.*; /**

jMusicHub

* @@ -13,16 +12,71 @@ import java.util.Scanner; public class jMusicHub { - public static void main(String[] args) { + /**

addSong

+ * add Song is used to add songs thanks to the "c" option + * @param scan Scanner Object + */ + public static Song addSong(Scanner scan){ + System.out.println("Adding a song..."); + System.out.printf("Title : "); + String title = scan.nextLine(); + System.out.printf("Duration (in seconds) : "); + int duration = scan.nextInt(); + System.out.printf("Content path : "); + String trash = scan.nextLine(); //Using this because the content scan is skippe after a nexInt + String content = scan.nextLine(); + System.out.printf("Artist : "); + String artist = scan.nextLine(); + System.out.printf("Genre (JAZZ, CLASSICAL, HIPHOP, ROCK, POP, RAP) : "); + String choosedGenre = scan.nextLine(); + choosedGenre = choosedGenre.toUpperCase(); + Genre genre = Genre.valueOf(choosedGenre); + System.out.println(""); - System.out.println("Welcome to the jMusicHub !"); + System.out.println("Do you confirm the addition of the following song ?"); + System.out.println("Title : " + title); + System.out.println("Duration : " + duration); + System.out.println("Content path : " + content); + System.out.println("Artist : " + artist); + System.out.println("Genre : " + genre); + System.out.println("[Y/n]"); + String confirm = scan.nextLine(); + + if (confirm.equalsIgnoreCase("Y")){ //if the user is ok with what he typed, create a song obj + Song newSong = new Song(title, duration, content, artist,genre); + return newSong; +// songs.add(newSong); + } else { + System.out.println("Aborting..."); + System.out.println(""); + return null; + } + } + + public jMusicHub() { + + System.out.println("Welcome to the jMusicHub !\n"); Scanner scan = new Scanner(System.in); String userInput; //Used to get the user's inputs. + ArrayList songs = new ArrayList(); + //used to temporarly save the songs before any "s" command + System.out.println("Starting extraction"); - //Here will be the process to extract the CSV files - System.out.println("Extraction done"); + //Here will be the process to extract the files +/* try { + FileOutputStream fos = new FileOutputStream(file); + ObjectOutputStream oos = new ObjectOutputStream(fos); + oos.writeObject(albums); + oos.close(); + fos.close(); + } + catch (IOException ioe) { + ioe.printStackTrace(); + return; + }*/ + System.out.println("Extraction done\n"); //Here will be the number of playlist, albums, songs and auidobook extracted do { @@ -35,8 +89,25 @@ public class jMusicHub { case "q" : System.out.println("Goodbye !"); break; + case "c": + try { //If something goes wrong, abort + Song newSong=addSong(scan); + if (newSong != null){ + songs.add(newSong); + System.out.println("Actual content of your songs list (you must save it (s) to do anything else with your songs) :"); + for (Song iSong : songs){ + System.out.println(iSong); + } + System.out.println(""); + + } + } catch (InputMismatchException | IllegalArgumentException e) { + System.out.println("You typed something wrong... I'm aborting.."); + System.out.println(""); + } break; + case "a": break; case "+": @@ -52,5 +123,10 @@ public class jMusicHub { } } while(!userInput.equals("q")); + + } + + public static void main(String[] args) { + new jMusicHub(); } } -- cgit v1.2.3