- Crie um novo projeto com Spring Boot....
@SpringBootApplication
public class HoraPraticaApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(HoraPraticaApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.print("Por favor digite um numero: ");
int numero = sc.nextInt();
for (int i = 1; i<=numero;i++){
System.out.println(i);
}
- Suponha que decidimos mudar...
Primeiro irei abrir o site https://mvnrepository.com e procurar pelo gson, depois escolher uma das suas versões. Depois copiarei o seu dependency do maven(ja que estou usando esse) e depois colarei no meu projeto no arquivo pom.xml dentro de dependencies(no final) e por fim sincrinizo o pom.xml.
- Agora iremos trabalhar com serialização....
public class Tarefa {
private String descricao;
private boolean concluida;
private String pessoaResponsavel;
public Tarefa(String descricao, boolean concluida, String pessoaResponsavel) {
this.descricao = descricao;
this.concluida = concluida;
this.pessoaResponsavel = pessoaResponsavel;
}(senão nao cabe tudo).....
- Lembre-se: serializar um objeto....
File file = new File("tarefas.json");
Tarefa tarefa = new Tarefa("assitir aula 01",false,"joão");
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(file,tarefa);
System.out.println("Dados salvos no tarefas.json");
- Agora, você fará o oposto da atividade....
Tarefa lertarefa = mapper.readValue(file,Tarefa.class);
System.out.println("Tarefa lida: "+lertarefa);
- Vamos criar objetos genéricos.....
public class Avaliacao <T>{
private T item;
private double nota;
private String comentario;
public Avaliacao(T item, double nota, String comentario) {
if (nota < 0 || nota > 10){
throw new IllegalArgumentException("A nota deve estar entre o e 10");
}
this.item = item;
this.nota = nota;
this.comentario = comentario;
}
public T getItem() {
return item;
}
public void setItem(T item) {
this.item = item;
}
public double getNota() {
return nota;
}
public void setNota(double nota) {
if (nota < 0 || nota > 10) {
throw new IllegalArgumentException("A nota deve estar entre 0 e 10.");
}
this.nota = nota;
}
public String getComentario() {
return comentario;
}
public void setComentario(String comentario) {
this.comentario = comentario;
}
public static <T> double calcularMediaNotas(List<Avaliacao<T>> avaliacoes) {
if (avaliacoes.isEmpty()) {
throw new IllegalArgumentException("A lista de avaliações está vazia.");
}
double soma = 0;
for (Avaliacao<T> avaliacao : avaliacoes) {
soma += avaliacao.getNota();
}
return soma / avaliacoes.size();
}
@Override
public String toString() {
return "Avaliacao{" +
"item=" + this.item +
", nota=" + this.nota +
", comentario='" + this.comentario + '\'' +
'}';
}
}
Avaliacao avaliacao = new Avaliacao("Smartphone xaomi Poco",8,"Caixa amassada");
File file2 = new File("avalia.json");
mapper.writeValue(file2,avaliacao);