Ex1 :
public class ContadorApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(ContadorApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a random number :");
int number = sc.nextInt();
for(int i = 1; i<=number;i++){
System.out.print(i+",");
}
}
}
Ex 4,5 :
TaskSerialization :
public abstract class TaskSerialization {
public static String serialize(Tarefa tarefa) {
try{
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(tarefa);
return json;
}catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
}
Deserialize :
public class Deserialize implements IDeserialize {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
public <T> T desserialize(Class<T> tClass, File json) {
try{
return objectMapper.readValue(json,tClass);
} catch (StreamReadException e) {
throw new RuntimeException(e);
} catch (DatabindException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
IDeserialize:
public interface IDeserialize {
public <T> T desserialize(Class<T> tClass, File json);
}
WriteJsonInFile:
public abstract class WriteJsonInFile {
public static void writeJson(File file, String json){
try(BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file))){
bufferedWriter.write(json);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
ContadorApplication :
public void run(String... args) throws Exception {
File file = new File("tarefa.json");
Tarefa tarefa = new Tarefa("Fazer serialização de objeto",true,"Igor");
String json = TaskSerialization.serialize(tarefa);
System.out.println(json);
WriteJsonInFile.writeJson(file,json);
Deserialize deserialize = new Deserialize();
Tarefa deserializedTarefa = deserialize.desserialize(Tarefa.class,file);
System.out.println(deserializedTarefa);
}
Ex 6:
Rating :
public class Rating<T> {
private T tipoAvaliacao;
int nota;
String comentarioAvaliacao;
public Rating(T tipoAvaliacao, int nota) {
if(nota<0 || nota>5){
throw new IllegalArgumentException("Valor de nota deve ser entre 0 a 5");
}
this.tipoAvaliacao = tipoAvaliacao;
this.nota = nota;
}
public Rating(T tipoAvaliacao, int nota, String comentarioAvaliacao) {
if(nota<0 || nota>5){
throw new IllegalArgumentException("Valor de nota deve ser entre 0 a 5");
}
this.tipoAvaliacao = tipoAvaliacao;
this.nota = nota;
this.comentarioAvaliacao = comentarioAvaliacao;
}
@Override
public String toString() {
return "Avaliacao{" +
"tipoAvaliacao=" + tipoAvaliacao +
", nota=" + nota +
", comentarioAvaliacao='" + comentarioAvaliacao + '\'' +
'}';
}
public double avgCalculate(List<Rating<T>> listOfRatings){
double ratingSum = 0;
for(Rating<T> rating : listOfRatings){
ratingSum += rating.getNota();
}
return ratingSum/listOfRatings.size();
}
public T getTipoAvaliacao() {
return tipoAvaliacao;
}
public int getNota() {
return nota;
}
public void setNota(int nota) {
if(nota<0 || nota>5){
throw new IllegalArgumentException("Valor de nota deve ser entre 0 a 5");
}
this.nota = nota;
}
public String getComentarioAvaliacao() {
return comentarioAvaliacao;
}
public void setComentarioAvaliacao(String comentarioAvaliacao) {
this.comentarioAvaliacao = comentarioAvaliacao;
}
}
Main:
@SpringBootApplication
public class ContadorApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(ContadorApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
Tarefa instalarCanos = new Tarefa();
Rating<Tarefa> reclamacao = new Rating<>(instalarCanos,2,"Canos mal instalados");
System.out.println(reclamacao);
}
}