negno
개발Log
negno
전체 방문자
오늘
어제
  • 분류 전체보기
    • Project
      • Mini_Project
      • PTSD_Project
    • Algorithm
      • Elice
      • JavaFestival
    • BACK-END
      • C Programming
      • JAVA
      • JSP Servlet
      • Python
      • Spring
      • Machine Learning
    • FRONT-END
      • HTML CSS
      • JavaScript
    • Application
      • Android
    • DataBase
      • Oracle
      • MySql
    • IoT
      • Arduino
      • Raspberry pi

티스토리

hELLO · Designed By 정상우.
negno

개발Log

Java ArrayList 예제
BACK-END/JAVA

Java ArrayList 예제

2022. 7. 19. 10:32

EX_01. MP3 Player

1-1. Music

public class Music {

	//music(mp3)설계
	//노래제목 > String
	//가수이름 > String
	//재생시간 > int
	//경로데이터 > String
	// private 접근제한자로 감싸준다
	private String title;
	private String name;
	private String data;
	private int time;
	
	//생성자 만들기(Constructor)
		public Music(String title, String name, String data, int time) {
		super();
		this.title = title;
		this.name = name;
		this.data = data;
		this.time = time;
	}

	//getter , setter
	public String getTitle() {
			return title;
		}

		public void setTitle(String title) {
			this.title = title;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getDate() {
			return data;
		}

		public void setDate(String data) {
			this.data = data;
		}

		public int getTime() {
			return time;
		}

		public void setTime(int time) {
			this.time = time;
		}
}

 

1-2. Main

import java.util.ArrayList;
import java.util.Scanner;
import javazoom.jl.player.MP3Player;

public class Main {

	public static void main(String[] args) {

		// 입력 도구 불러오기
		Scanner sc = new Scanner(System.in);
		// MP3Player 객체 불러오기
		//mp3 노래를 재생할 수 있는 환경이 만들어짐
		MP3Player mp3 = new MP3Player();
		
		// play 할때 경로 데이터가 필요하다
		// 목록 - 노래제목, 가수, playtime
//		mp3.play("C:\\Users\\SMHRD\\Desktop\\Java\\MusicPlayer\\player\\Peaches.mp3");
//		mp3.stop();
		
		//노래 4개에 대해서 객체 생성하기
		//선언과 동시에 데이터 초기화하기(가수이름, 노래제목, 플레이타임, 경로)
		String data = "C:\\Users\\SMHRD\\Desktop\\Java\\MusicPlayer\\player\\"; //(공통된 경로를 담음)
		Music music1 = new Music("벚꽃엔딩", "장범준", data+"Blossom.mp3", 60);
		Music music2 = new Music("버터플라이", "모름", data+"Butterfly.mp3", 60);
		Music music3 = new Music("peaches", "Justin Bieber", data+"Peaches.mp3", 60);
		Music music4 = new Music("롤린", "브레이브걸스",data+"Rollin.mp3", 60);
		
		ArrayList<Music> musiclist = new ArrayList<Music>();
		musiclist.add(music1);
		musiclist.add(music2);
		musiclist.add(music3);
		musiclist.add(music4);
		boolean play1 = true;
		int i = 0;
		//경로에 접근해보자
		System.out.println(musiclist.get(0).getDate());
		
		// 1재생 2정지 3이전곡 4다음곡 5종료
		while(play1) {
			System.out.print("[1]재생 [2]정지 [3]이전곡 [4]다음곡 [5]종료");
			int num = sc.nextInt();
			switch(num) {
			case 1:
				 System.out.print(musiclist.get(i).getTitle() + "-" + musiclist.get(i).getName());
		         System.out.println(":" + musiclist.get(i).getTime() / 60 + "분" + musiclist.get(i).getTime() % 60 + "초");
				mp3.play(musiclist.get(i).getDate());
				break;
			case 2:
				if(mp3.isPlaying()) {
					mp3.stop();
				}else {
					System.out.println("error");
				}
				break;
			case 3:
				if(mp3.isPlaying()) mp3.stop();
				i--;	
				if(i==-1) i = musiclist.size()-1;
				 System.out.print(musiclist.get(i).getTitle() + "-" + musiclist.get(i).getName());
		         System.out.println( ":" + musiclist.get(i).getTime() / 60 + "분" + musiclist.get(i).getTime() % 60 + "초");
				mp3.play(musiclist.get(i).getDate());
				break;
			case 4:
				if(mp3.isPlaying()) mp3.stop();
				i++;
				if(i>=musiclist.size()) i = 0;
				 System.out.print(musiclist.get(i).getTitle() + "-" + musiclist.get(i).getName());
		         System.out.println(":" + musiclist.get(i).getTime() / 60 + "분" + musiclist.get(i).getTime() % 60 + "초");
				mp3.play(musiclist.get(i).getDate());
				
				break;
			case 5:
				if(mp3.isPlaying()) mp3.stop();
				System.out.println("프로그램 종료");
				play1 = false;
				break;
			default:
			}
			
		}
	}
}

'BACK-END > JAVA' 카테고리의 다른 글

Java JDBC 예제  (0) 2022.07.19
Java 상속 예제  (0) 2022.07.19
Java 객체 배열 예제  (0) 2022.07.19
JAVA OOP 예제  (0) 2022.07.13
JAVA 메소드 예제  (0) 2022.07.13
    negno
    negno

    티스토리툴바