Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.12 KB | None | 0 0
  1. public class Principal {
  2. public static String formatoTempo(long tempo){
  3. int hora = 60;
  4. int minuto = 60;
  5. long h= tempo /hora;
  6. long m= tempo % minuto;
  7. return String.format("%02dh %02dmin", h, m);
  8. }
  9.  
  10. public static void main(String[] args) {
  11. Playlist lista = new Playlist();
  12. Musica num1 = new Musica("Agua de beber", "Antonio Carlos Jobim", "Astrud Gilberto", 140);
  13. Musica num2 = new Musica("O mar serenou", "Candeia", " Clara Nunes", 179);
  14. Musica num3 = new Musica("Rapaz Folgado", "Noel Rosa", " Martinho da Vila Mart'nália", 180);
  15.  
  16. Video num4 = new Video("Musica", " Despacito", " Luis Fonsi", 5926796, 280);
  17.  
  18. lista.add(num1);
  19. lista.add(num2);
  20. lista.add(num3);
  21. lista.add(num4);
  22.  
  23. lista.print();
  24. }
  25.  
  26. public interface Item {
  27. public long getDuracao();
  28. }
  29.  
  30. public static class Playlist {
  31. private Item[] itens;
  32. private int cont;
  33.  
  34. public Playlist() {
  35. itens = new Item[1000];
  36. cont = 0;
  37. }
  38.  
  39. public void add(Item item) {
  40. if (cont == itens.length) {
  41. System.out.println("ERROR: playlist atingiu sua quantidade máxima de itens.");
  42. }
  43. itens[cont] = item;
  44. cont++;
  45. }
  46.  
  47. public Item get(int i) {
  48. if (cont > i) {
  49. return itens[i];
  50. } else {
  51. return null;
  52. }
  53. }
  54.  
  55. public void print() {
  56. String result = "Total de Musicas e Videos Alocados = " + cont + "n";
  57. for (int i = 0; i < cont; i++) {
  58. result += (i + " => " + itens[i] + "n");
  59. }
  60. result += "Tempo Total da PlayList: " + formatoTotalTempo();
  61. System.out.println(result.toString());
  62. }
  63.  
  64. public int totalTempo() {
  65. int totalTempo = 0;
  66. for (int i = 0; i < cont; i++) {
  67. totalTempo += itens[i].getDuracao();
  68. }
  69. return totalTempo;
  70. }
  71.  
  72. public String formatoTotalTempo() {
  73. return formatoTempo(totalTempo());
  74. }
  75. }
  76.  
  77. public static class Musica implements Item {
  78. private String nome;
  79. private String interprete;
  80. private String compositor;
  81. private long duracao;
  82.  
  83. public Musica(String musicaNome, String interprteNome, String compositorNome, int tamanhoDuracao) {
  84. this.nome = musicaNome;
  85. this.interprete = interprteNome;
  86. this.compositor = compositorNome;
  87. this.duracao = tamanhoDuracao;
  88. }
  89.  
  90. public void setNome(String musicaNome) {
  91. nome = musicaNome;
  92. }
  93.  
  94. public String getNome() {
  95. return nome;
  96. }
  97.  
  98. public void setInterprte(String interpreteNome) {
  99. interprete = interpreteNome;
  100. }
  101.  
  102. public String getInterprete() {
  103. return interprete;
  104. }
  105.  
  106. public void setCompositor(String compositorNome) {
  107. compositor = compositorNome;
  108. }
  109.  
  110. public String getCompositor() {
  111. return compositor;
  112. }
  113.  
  114. public long getDuracao() {
  115. return duracao;
  116. }
  117.  
  118. public String toString() {
  119. return "Nome: " + getNome() + ", Interprete:" + getInterprete() + ", Compositor:" + getCompositor()
  120. + ", Duracao: " + formatoTempo(getDuracao());
  121. }
  122. }
  123.  
  124. public static class Video implements Item {
  125. String titulo;
  126. String assunto;
  127. String canal;
  128. int visualizacoes;
  129. long duracao;
  130. long acrescimo;
  131.  
  132.  
  133. public Video(String tituloNome, String assuntoNome, String canalNome, int visualizacoes_video,long tempo_video) {
  134. this.titulo = tituloNome;
  135. this.assunto = assuntoNome;
  136. this.canal = canalNome;
  137. this.visualizacoes = visualizacoes_video;
  138. this.duracao = tempo_video;
  139. }
  140.  
  141. }
  142. public void setTitulo(String tituloNome) {
  143. titulo = tituloNome;
  144. }
  145.  
  146. public String getTitulo() {
  147. return titulo;
  148. }
  149.  
  150. public void setAssunto(String assuntoNome) {
  151. assunto = assuntoNome;
  152. }
  153.  
  154. public String getAssunto() {
  155. return assunto;
  156. }
  157.  
  158. public void setCanal(String canalNome) {
  159. canal = canalNome;
  160. }
  161.  
  162. public String getCanal() {
  163. return canal;
  164. }
  165.  
  166. public void setVisualizacoes(int visualizacoes_video) {
  167. visualizacoes = visualizacoes_video;
  168. }
  169.  
  170. public int getVisualizacoes() {
  171. return visualizacoes;
  172.  
  173. }
  174.  
  175. // aqui eu tento aumentar o tempo do video conforme aalguma regra, nesse caso aumento em 20% se visualizacoes passar de 1000.
  176. public long getDuracao(){
  177. If (visualizacao > 1000){
  178. duracao = duracao * 0.02;
  179. }
  180.  
  181. }
  182.  
  183. public String toString() {
  184. return "Titulo: " + getTitulo() + ", Assunto:" + getAssunto() + ", Canal:" + getCanal()
  185. + ", Visualizações: " + getVisualizacoes() + " Duração do video:"
  186. + formatoTempo(getDuracao());
  187. }
  188. }
  189.  
  190. public long getDuracao() {
  191. long tempoDuracao = 0;
  192. if(visualizacoes < 1000) {
  193. tempoDuracao = duracao;
  194. }
  195. else if (visualizacoes > 1000 && visualizacoes < 10000) {
  196. tempoDuracao = (long) ((duracao * 0.02) + duracao);
  197. }
  198. else if(visualizacoes > 10000) {
  199.  
  200. tempoDuracao =(long) ((duracao * 0.05)+ duracao) ;
  201. }
  202. return tempoDuracao;
  203. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement