Pessoal criei as seguintes classes só que não estou conseguindo fazer funcionar a main segue as classes que fiz e também a main, preciso resolver a seguinte questão ?
Na main, você deverá criar uma “playlist” (um array de Streamings), que deverão ser
devidamente inicializados. Logo após, você deverá fazer um loop que toca toda a playlist e imprime
o tempo total de duração ao final.
package revisaoprova;
public class Streaming {
String fonte;
int duracao;
public void tocar(Streaming stream){
System.out.println("simulando streaming");
System.out.println("duração: "+stream.duracao);
System.out.println("fonte: "+stream.fonte);
}
}
package revisaoprova;
public class Video extends Streaming {
String autor, nome;
@Override
public void tocar(Streaming stream){
System.out.println(“simulando video”);
System.out.println("fonte: "+ stream.fonte);
System.out.println("duração: "+stream.duracao);
System.out.println("autor: "+ this.autor);
System.out.println("nome: " + this.nome);
}
public Video(String autor, String nome, String fonte, int duracao) {
this.autor = autor;
this.nome = nome;
}
}
package revisaoprova;
public final class Live extends Streaming {
private String data_inicio;
private String hora_inicio;
public int transmissao;
boolean testaData(String data_inicio) {
if ((data_inicio.charAt(1) >= 0 && data_inicio.charAt(1) <= 9)
&& (data_inicio.charAt(2) >= 0 && data_inicio.charAt(2) <= 9)
&& (data_inicio.charAt(3) == '/')
&& (data_inicio.charAt(4) >= 0 && data_inicio.charAt(4) <= 9)
&& (data_inicio.charAt(5) >= 0 && data_inicio.charAt(5) <= 9)
&& (data_inicio.charAt(6) == '/') && (data_inicio.charAt(7) >= 0
&& data_inicio.charAt(7) <= 9) && (data_inicio.charAt(8) >= 0
&& data_inicio.charAt(8) <= 9)) {
return true;
} else {
}
return false;
}
public void setDataInicio(String data_inicio) {
if (testaData(data_inicio)) {
this.data_inicio = data_inicio;
}
}
boolean testahora(String hora_inicio) {
if ((hora_inicio.charAt(1) >= 0 && hora_inicio.charAt(1) <= 9)
&& (hora_inicio.charAt(2) >= 0 && hora_inicio.charAt(2) <= 9)
&& (hora_inicio.charAt(3) == ':')
&& (hora_inicio.charAt(4) >= 0 && hora_inicio.charAt(4) <= 9)
&& (hora_inicio.charAt(5) >= 0 && hora_inicio.charAt(5) <= 9)
&& (hora_inicio.charAt(6) == ':') && (hora_inicio.charAt(7) >= 0
&& hora_inicio.charAt(7) <= 9) && (hora_inicio.charAt(8) >= 0
&& hora_inicio.charAt(8) <= 9)) {
return true;
} else {
}
return false;
}
public void setHoraInicio(String hora_inicio) {
if (testahora(hora_inicio)) {
this.hora_inicio = hora_inicio;
}
}
public Live(String data_inicio, String hora_inicio, int transmissao, String fonte, int duracao){
setDataInicio(data_inicio);
setHoraInicio(hora_inicio);
this.transmissao = transmissao;
}
@Override
public void tocar(Streaming stream){
System.out.println("simulando live");
System.out.println("fonte: "+ stream.fonte);
System.out.println("duraçao: "+stream.duracao);
System.out.println("data de inicio: "+ this.data_inicio);
System.out.println("hora de inicio: "+ this.hora_inicio);
System.out.println("taxa de transmissão: "+ this.transmissao);
}
}
essa é minha main
package revisaoprova;
public class RevisaoProva {
public static void main(String[] args) {
int total=0;
Streaming[] playlist = new Streaming[10];
Video video = new Video("", "", "", 0);
Live live= new Live("", "", 0, "", 0);
live.tocar(live);
video.tocar(live);
for (int i = 0; i < 5; i++) {
live=new Live("16/07/1999", "21:30:00", 200, "google", 300);
playlist[i]=live;
video=new Video("Whinderson", "Locao", "youtube", 300);
playlist[9-i]=video;
}
for (Streaming playlist1 : playlist) {
playlist1.tocar(playlist1);
total += playlist1.duracao;
System.out.println("================");
}
System.out.println("duração total da playlist: "+total);
}
}
da esse erro
ant -f C:\Users\Rafa\Documents\NetBeansProjects\revisaoProva -Dnb.internal.action.name=run run
init:
Deleting: C:\Users\Rafa\Documents\NetBeansProjects\revisaoProva\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\Rafa\Documents\NetBeansProjects\revisaoProva\build\built-jar.properties
Compiling 1 source file to C:\Users\Rafa\Documents\NetBeansProjects\revisaoProva\build\classes
compile:
run:
Exception in thread “main” java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:658)
at revisaoprova.Live.testaData(Live.java:15)
at revisaoprova.Live.setDataInicio(Live.java:33)
at revisaoprova.Live.(Live.java:63)
at revisaoprova.RevisaoProva.main(RevisaoProva.java:14)
C:\Users\Rafa\Documents\NetBeansProjects\revisaoProva\nbproject\build-impl.xml:1040: The following error occurred while executing this line:
C:\Users\Rafa\Documents\NetBeansProjects\revisaoProva\nbproject\build-impl.xml:805: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 1 segundo)