From 00a5fb749b8a484ba7c9515166d57f3126fff9f7 Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Mon, 10 Apr 2017 23:53:35 -0300 Subject: [PATCH 01/10] =?UTF-8?q?Quest=C3=A3o=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 35 +++++++++++++++++++--------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index 857bda4..ce121a4 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -13,17 +13,30 @@ Atividade para realizar em dupla e entregar via [GitHub][github]. Uma entrega po Prazo para entrega: ~~4/4/2017~~ 10/04/2017, 23:59:59. **Questão 1:** Os termos abaixo estão relacionados ao paradigma de *Orientação por Objetos*. Defina cada um dos termos com base no livro-texto (Eck, David J. Introduction to Programming Using Java, 6th ed. 2011). -* classe -* objeto -* elementos de classe -* atributos -* métodos -* método construtor padrão -* método construtor alternativo -* estado de um objeto -* retenção de estado - -Classe é a estrutura definida pelo programador, contendo atributos e métodos (comportamento) comuns a um conjunto de objetos. + +15/0007182 - Byron Kamal Barreto Correa +15/0016131 - Luciana Ribeiro Lins de Albuquerque + +*Classes: segundo David J. Eck, são nas classes que os objetos são construídos. Nelas são instanciados os objetos e criados os métodos. + +*Objeto: Objeto é a instância de uma classe. Os objetos são criados e destruídos ao longo do programa. Se forem instanciados na mesma classe, vários objetos podem ter a mesma estrutura, mas com atributos diferentes. + +*Elementos de Classe: é o que compõe uma classe: atributos e comportamento (operações e métodos). + +*Atributos: os atributos são características que definem o objeto. + +*Métodos: os métodos definem o comportamento da instancia de uma classe. + +*Método Construtor Padrão: o método construtor padrão serve para instanciar uma classe. Ele separa um espaço na memória para que um objeto da classe seja criado. + +*Método Construtor Alternativo: o método construtor alternativo é por passagem de parâmetros. Além de criar o objeto, esse método também define os atributos do objeto. + +*Estado de um Objeto: ao criar um objeto, seus atributos são definidos. Os valores dados aos atributos definem seu estado. + +*Retenção de Estado: retenção de estado é quando um objeto fica inerte na memória até que uma nova ação é realizada e haja uma alteração no valor de algum atributo. + + +*Classe é a estrutura definida pelo programador, contendo atributos e métodos (comportamento) comuns a um conjunto de objetos. **Questão 2:** Julgue as seguintes frases como verdadeiras ou falsas e explique o motivo delas estarem certas ou erradas. Nos casos em que julgar uma sentença como errada, altere-a de modo a corrigi-la. From 9578be874a39aeb4523c407380b1684ba43f13ee Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:01:34 -0300 Subject: [PATCH 02/10] =?UTF-8?q?Quest=C3=A3o=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index ce121a4..16af26c 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -15,6 +15,7 @@ Prazo para entrega: ~~4/4/2017~~ 10/04/2017, 23:59:59. **Questão 1:** Os termos abaixo estão relacionados ao paradigma de *Orientação por Objetos*. Defina cada um dos termos com base no livro-texto (Eck, David J. Introduction to Programming Using Java, 6th ed. 2011). 15/0007182 - Byron Kamal Barreto Correa + 15/0016131 - Luciana Ribeiro Lins de Albuquerque *Classes: segundo David J. Eck, são nas classes que os objetos são construídos. Nelas são instanciados os objetos e criados os métodos. @@ -40,15 +41,22 @@ Prazo para entrega: ~~4/4/2017~~ 10/04/2017, 23:59:59. **Questão 2:** Julgue as seguintes frases como verdadeiras ou falsas e explique o motivo delas estarem certas ou erradas. Nos casos em que julgar uma sentença como errada, altere-a de modo a corrigi-la. -a) Dois objetos instanciados através do método construtor padrão terão o mesmo estado e, portanto, suas referências serão iguais. +15/0007182 - Byron Kamal Barreto Correa + +15/0016131 - Luciana Ribeiro Lins de Albuquerque + +a) A sentença está incorreta. Quando as referências (apontar pra um objeto na memoria) são iguais, trata-se do mesmo objeto. Eles podem ter o mesmo estado, mas não a mesma referência. +Forma correta: Dois objetos instanciados através do método construtor padrão terão o mesmo estado, porém suas referências podem não ser iguais. -b) Uma classe pode ter apenas um método construtor alternativo para instanciação de seus objetos. +b) A sentença está incorreta. Uma classe pode ter mais de um método construtor alternativo. +Forma Correta: Uma classe pode ter mais de um método construtor alternativo para instanciação de seus objetos. -c) Retenção de estados é uma propriedade do paradigma OO que permite aos objetos manterem os valores de seus atributos até o momento em que um estímulo externo ao objeto solicite uma alteração no valor de algum atributo. +c) A sentença está correta, pois é necessário um novo estímulo externo ao objeto para que haja alteração no valor de um atributo. -d) Em Java, o operador . (ponto) serve para acessar somente os métodos de um objeto. +c) A sentença está incorreta. Em Java, o operador . (ponto) serve para acessar os métodos e atributos de um objeto. +Forma correta: Em Java, o operador . (ponto) serve para acessar os métodos e atributos de um objeto. -e) Métodos destrutores são aqueles métodos que são chamados explicitamente pelo algoritmo para destruir objetos e liberar os espaços que eles ocupam em memória. Em Java métodos destrutores são implementos com o nome **finalize()** e definidos em cada classe. +e) A sentença está incorreta. O método finalize() não trata-se de um método destrutor. **Questão 3:** Considere o seguinte cenário: From 7c1834603fe2488461960387ccb1d0d2cac8ba6c Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:05:21 -0300 Subject: [PATCH 03/10] =?UTF-8?q?Quest=C3=A3o=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 61 ++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index 16af26c..bba817c 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -46,14 +46,17 @@ Prazo para entrega: ~~4/4/2017~~ 10/04/2017, 23:59:59. 15/0016131 - Luciana Ribeiro Lins de Albuquerque a) A sentença está incorreta. Quando as referências (apontar pra um objeto na memoria) são iguais, trata-se do mesmo objeto. Eles podem ter o mesmo estado, mas não a mesma referência. + Forma correta: Dois objetos instanciados através do método construtor padrão terão o mesmo estado, porém suas referências podem não ser iguais. b) A sentença está incorreta. Uma classe pode ter mais de um método construtor alternativo. + Forma Correta: Uma classe pode ter mais de um método construtor alternativo para instanciação de seus objetos. c) A sentença está correta, pois é necessário um novo estímulo externo ao objeto para que haja alteração no valor de um atributo. c) A sentença está incorreta. Em Java, o operador . (ponto) serve para acessar os métodos e atributos de um objeto. + Forma correta: Em Java, o operador . (ponto) serve para acessar os métodos e atributos de um objeto. e) A sentença está incorreta. O método finalize() não trata-se de um método destrutor. @@ -78,6 +81,64 @@ Além dessas características, drones possuem as seguintes funções básicas: a Dado esse cenário, pede-se aos alunos que representem (inicialmente) as características e comportamentos de um drone através de um diagrama de classes e, posteriormente, apresente a implementação dessa classe na linguagem Java. +15/0007182 - Byron Kamal Barreto Correa + +15/0016131 - Luciana Ribeiro Lins de Albuquerque + +{% highlight java %} + +public class Drone { + String marca; + String modelo; + int numHelices; + String camera; + float velVertical; + float velHorizontal; + int autonomiaBateria; + int distMax; + + Drone () {} + + Drone (String m, String mo, int nh, String c, float vv, float vh, int bat, int d) { + marca = m; + modelo = mo; + numHelices = nh; + camera = c; + velVertical = vv; + velHorizontal = vh; + autonomiaBateria = bat; + distMax = d; + + } + + + public float aumentarVelVertical () { + return velVertical = velVertical+1; } + + public float diminuirVelVertical () { + return velVertical = velVertical-1 ; } + + public float aumentarVelHorizontal () { + return velHorizontal = velHorizontal+1; } + + public float diminuirVelHorizontal () { + return velHorizontal = velHorizontal-1; } + + public float metadeVelHorizontal () { + if (autonomiaBateria <= 5) + { velHorizontal = (float) (velHorizontal*0.5); } + return velHorizontal; + } + + public float metadeVelVertical () { + if (autonomiaBateria <= 5) + { velVertical = (float) (velVertical*0.5); } + return velVertical; + } + + +} +{% endhighlight %} **Questão 4:** Considerando a classe definida e implementada na questão 5, pede-se que os seguintes objetos sejam criados a partir do programa principal: From 73fa9261b77edec0d3d22cd14d5a190ad165c62d Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:09:48 -0300 Subject: [PATCH 04/10] =?UTF-8?q?Quest=C3=A3o=204?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index bba817c..f1e411c 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -153,6 +153,25 @@ public class Drone { | Autonomia bateria| 7 minutos | 20 minutos | 27 minutos | 15 minutos | | Distância máxima | até 150 metros | até 1 kilometro| até 13 kilometros | até 13 kilometros | +15/0007182 - Byron Kamal Barreto Correa + +15/0016131 - Luciana Ribeiro Lins de Albuquerque + +{% highlight java %} + +public class Principal { + public static void main (String args[]) { + + Drone drone1, drone2, drone3, drone4; + + drone1 = new Drone ("Hubsan", "X4 mini", 4, "SD", 10, 10, 15, 150); + drone2 = new Drone ("Hubsan","H501S X4 FPV", 4, "HD", 12, 12, 20, 1000); + drone3 = new Drone ("DJI", "Mavic Pro", 4, "UHD", 16, 16, 27, 13000); + drone4 = new Drone ("DJI", "Spreading Wings", 8, "SUHD", 16, 16, 15, 130000); + } +} + +{% endhighlight %} **Questão 5:** Ainda levando em consideração o cenário descrito nas questões 3 e 4, é necessário fazer com que os comandos realizados pelo usuário no controle remoto sejam enviados ao drone. Para isso, é necessário que o controle remoto estabeleça uma conexão com o drone. A partir desse momento é possível enviar os seguintes comandos ao drone: a) aumentar ou diminuir a velocidade vertical em passos de 1 m/s; b) aumentar ou diminuir a velocidade horizontal em passos de 1m/s e, c) ativar ou desativar a câmera. É importante ressaltar que um controle remoto só pode estar conectado a um drone apenas. Por fim, controles remotos possuem baterias com autonomia entre 60 e 90 minutos e alcance entre 20 metros e 20 kilometros. From bf1cc7454a638f41384dc140fe9d7550881df81c Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:13:44 -0300 Subject: [PATCH 05/10] =?UTF-8?q?Quest=C3=A3o=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 209 +++++++++++++++++++++++++++ 1 file changed, 209 insertions(+) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index f1e411c..a7c06be 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -177,6 +177,214 @@ public class Principal { Desse modo, pede-se nessa questão que seja modelada e implementada em Java a classe que representa as características e o comportamento de um controle remoto, de modo que o drone possa ser comandado a partir do comandos enviados pelo controle remoto. +15/0007182 - Byron Kamal Barreto Correa + +15/0016131 - Luciana Ribeiro Lins de Albuquerque + +{% highlight java %} +public class Controle { + + int controleAutonomiaBateria; + int alcance; + + Drone d; + + Controle() {} + + public float aumentarVelVertical () { + return d.aumentarVelVertical(); } + + public float aumentarVelHorizontal() { + return d.aumentarVelHorizontal(); + } + + public float diminuirVelVertical () { + return d.diminuirVelVertical(); + } + + public float diminuirVelHorizontal () { + return d.diminuirVelHorizontal(); + } + + public void iniciarCamera () { + System.out.println("\nCamera Ativada\n"); } + + public void interromperCamera () { + System.out.println("\nCamera desligada\n"); } + +} + +{% endhighlight %} + +{% highlight java %} +import java.util.Scanner; + +public class Ler { + + float num, aux; + String comando; + private Scanner s; + + Drone dr; + Ler() {} + + public float lerVelVertical() { + System.out.println ("\nDigite velocidade vertical inical: "); + s = new Scanner(System.in); + num = s.nextInt(); + aux = num; + if (aux > 10) { + System.out.println("Velocidade Vertical Maxima Excedida\n" + + "Valor maximo permitido é 10 m/s\n"); + return lerVelVertical(); } + + else { + dr.velVertical = aux;} + return 0; + } + + public float lerVelHorizontal () { + System.out.println ("\nDigite velocidade vertical inical: "); + s = new Scanner(System.in); + num = s.nextInt(); + aux = num; + if(num > 10) { + System.out.println("\nValocidade Horizontal Max Excedida\n" + + "Valor maximo permitido é 10 m/s\n"); + return lerVelHorizontal(); } + else { + dr.velHorizontal = aux;} + return 0; + } + +} +{% endhighlight %} + + +{% highlight java %} +import java.util.Scanner; + +public class Principal { + public static void main (String args[]) { + + Drone drone1, drone2, drone3, drone4; + + drone1 = new Drone ("Hubsan", "X4 mini", 4, "SD", 10, 10, 15, 150); + drone2 = new Drone ("Hubsan","H501S X4 FPV", 4, "HD", 12, 12, 20, 1000); + drone3 = new Drone ("DJI", "Mavic Pro", 4, "UHD", 16, 16, 27, 13000); + drone4 = new Drone ("DJI", "Spreading Wings", 8, "SUHD", 16, 16, 15, 130000); + + System.out.println("\n>>>INFORMÇÕES SOBRE OS DRONES<<<\n"); + System.out.println("\nINFORMAÇÕES DRONE 1 " + + "\nMarca: " +drone1.marca + + "\nModelo: " +drone1.modelo + + "\nNumero de Helices: " +drone1.numHelices + + "\nTipo de camera: " +drone1.camera + + "\nVelocidade Vertical Maxima: " +drone1.velVertical + " m/s" + + "\nVelocidade Horizontal Maxima: " +drone1.velHorizontal + " m/s" + + "\nDuração de Bateria: " +drone1.autonomiaBateria + " minutos" + + "\nDistancia máxima: " +drone1.distMax + " metros"); + + System.out.println("\nINFORMAÇÕES DRONE 2 " + + "\nMarca: " +drone1.marca + + "\nModelo: " +drone2.modelo + + "\nNumero de Helices: " +drone2.numHelices + + "\nTipo de camera: " +drone2.camera + + "\nVelocidade Vertical Maxima: " +drone2.velVertical + " m/s" + + "\nVelocidade Horizontal Maxima: " +drone2.velHorizontal + " m/s" + + "\nDuração de Bateria: " +drone2.autonomiaBateria + " minutos" + + "\nDistancia máxima: " +drone2.distMax + " metros"); + + System.out.println("\nINFORMAÇÕES DRONE 3 " + + "\nMarca: " +drone3.marca + + "\nModelo: " +drone3.modelo + + "\nNumero de Helices: " +drone3.numHelices + + "\nTipo de camera: " +drone3.camera + + "\nVelocidade Vertical Maxima: " +drone3.velVertical + " m/s" + + "\nVelocidade Horizontal Maxima: " +drone3.velHorizontal + " m/s" + + "\nDuração de Bateria: " +drone3.autonomiaBateria + " minutos" + + "\nDistancia máxima: " +drone3.distMax + " metros"); + + System.out.println("\nINFORMAÇÕES DRONE 4 " + + "\nMarca: " +drone4.marca + + "\nModelo: " +drone4.modelo + + "\nNumero de Helices: " +drone4.numHelices + + "\nTipo de camera: " +drone4.camera + + "\nVelocidade Vertical Maxima: " +drone4.velVertical + " m/s" + + "\nVelocidade Horizontal Maxima: " +drone4.velHorizontal + " m/s" + + "\nDuração de Bateria: " +drone4.autonomiaBateria + " minutos" + + "\nDistancia máxima: " +drone4.distMax + " metros"); + + System.out.println("\n >>>Controle 1 funciona com Drone 1<<< \n"); + Controle c1 = new Controle(); + + c1.controleAutonomiaBateria = 60; + c1.alcance = 200; + c1.d = drone1; + + System.out.println("Autonomia bateria controle: " + c1.controleAutonomiaBateria + " minutos"+ + "\nAlcance do Controle: " +c1.alcance + " metros"); + + Ler ler = new Ler(); + ler.dr = drone1; + + ler.lerVelVertical(); + System.out.println("Velocidade Inicial Vertical: " + drone1.velVertical + " m/s"); + + ler.lerVelHorizontal(); + System.out.println("\nVelocidade Horizontal inicial: " + drone1.velHorizontal + " m/s"); + + System.out.println("\nVelocidade Vertical:\nAumentar - digite 1\nDiminuir - digite 2"); + Scanner s = new Scanner(System.in); + int opcao = s.nextInt(); + if (opcao == 1) { + + if (drone1.velVertical == 10) { + System.out.println("Velocidade vertical Maxima Excecida!");} + + else {c1.aumentarVelVertical(); + System.out.println("Velocidade Vertical atual: " + drone1.velVertical + "m/s");} + } + + if(opcao == 2) { + if (drone1.velVertical <= 0) { + System.out.println("\n 0 ()zero é o valor minimo para velocidade!");} + else {c1.diminuirVelVertical(); + System.out.println("\nVelocidade Vertical atual: " + drone1.velVertical + " m/s");} + } + + + System.out.println("\nVelocidade Horizontal:\nAumentar - digite 1\nDiminuir - digite 2"); + Scanner s2 = new Scanner(System.in); + int opcao2 = s2.nextInt(); + + if (opcao2 == 1) { + if (drone1.velHorizontal == 10) { + System.out.println("\nVelocidade Horizontal Maxima Excecida!");} + + else {c1.aumentarVelHorizontal(); + System.out.println("\nVelocidade Horizontal atual: " + drone1.velHorizontal + "m/s");} + } + + if(opcao2 == 2) { + if (drone1.velHorizontal <= 0) { + System.out.println("\n 0 (zero) é o valor minimo para velocidade!");} + + else {c1.diminuirVelHorizontal(); + System.out.println("\nVelocidade Horizontal atual: " + drone1.velHorizontal + " m/s");} + } + + System.out.println("\nCamera:\nLigar - digite 1\nDesligar - digite 2"); + Scanner s3 = new Scanner(System.in); + int opcao3 = s3.nextInt(); + + if(opcao3 == 1) {c1.iniciarCamera();} + + else if (opcao3 == 2) {c1.interromperCamera();} + } +} + +{% endhighlight %} **Questão 6:** Sejam os seguintes códigos da *ClasseA* e da aplicação principal escritas em JAVA. @@ -219,6 +427,7 @@ Responda as seguintes questões com base nos códigos acima: a) As referências a1 e a2 para objetos de *ClasseA* são iguais? + b) Qual o estado de cada dos objetos de cada referência? c) O que será impresso pela função *main* da classe *Principal* se a linha número *11* for igual a: From 987fa8511a35c6f34da789b3cce58f6bed983646 Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:16:02 -0300 Subject: [PATCH 06/10] =?UTF-8?q?Quest=C3=A3o=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index a7c06be..713d228 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -425,10 +425,18 @@ public class Principal { {% endhighlight %} Responda as seguintes questões com base nos códigos acima: -a) As referências a1 e a2 para objetos de *ClasseA* são iguais? +15/0007182 - Byron Kamal Barreto Correa +15/0016131 - Luciana Ribeiro Lins de Albuquerque + +a) As referências a1 e a2 para objetos de *ClasseA* são iguais? +Não. b) Qual o estado de cada dos objetos de cada referência? +Resposta: +q1 (0, 0.0f, null, false) +q2 (0, 0.0f, null, false) +q3 (1, 1.0f, “null”, false) c) O que será impresso pela função *main* da classe *Principal* se a linha número *11* for igual a: {% highlight java%} @@ -440,6 +448,15 @@ System.out.println(q1.a4 == q3.a4); System.out.println(q3 == q2); {% endhighlight %} +Resposta: +False +True +False +True +True +False + + **Questão 7:** Seja o seguinte código em Java. Apresente o que será impresso ao final da execução do método **main** definido na classe **Principal**. From d5780e369f17f961fa784eb7c1ebc20a48984371 Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:17:29 -0300 Subject: [PATCH 07/10] =?UTF-8?q?Quest=C3=A3o=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index 713d228..df51317 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -553,6 +553,29 @@ public class Curso { {% endhighlight %} +15/0007182 - Byron Kamal Barreto Correa + +15/0016131 - Luciana Ribeiro Lins de Albuquerque + +Resposta: +- Nome: Andre +Curso: Curso@15db9742 +Data de nascimento: 23/2/1983 + +Nome: Maria +Curso: Curso@6d06d69c +Data de nascimento: 27/5/1994 + +Nome: Junior +Curso: Curso@15db9742 +Data de nascimento: 16/11/1995 + +false +false +true + + + **Questão 8:** Considerando as classes **Aluno** e **Curso** definidas na questão 7, o que será impresso quando o *garbagge collector* de Java executar momentos antes do método **main()** da classe abaixo terminar sua execução? {% highlight java %} From bccc457a714a8f4ffe7eae81e0751543f50571c3 Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:17:58 -0300 Subject: [PATCH 08/10] =?UTF-8?q?Quest=C3=A3o=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From bc8d1f2bf4198426433ead7845d6de5a9f12eb99 Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:20:57 -0300 Subject: [PATCH 09/10] =?UTF-8?q?Quest=C3=A3o=208?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index df51317..66b825e 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -605,6 +605,17 @@ public class Principal { } {% endhighlight %} +15/0007182 - Byron Kamal Barreto Correa + +15/0016131 - Luciana Ribeiro Lins de Albuquerque + + +Resposta: +Quando executado o Garbagge Collector, a saída é: +Esse objeto ALUNO vai ser destruido. +Detalhes do objeto: + + **Questão 9:** as cinco instruções listadas abaixo estão definidas no método **main()** da classe **Principal** e apresentam erros em suas sintaxes. Apresente quais são os erros, justifique-os e altere as instruções de modo a consertá-los. Considere os códigos das classes **Aluno** e **Turma** como sendo os códigos apresentados na questão 7. From cdfb9104945ab12351f6f93db8f9be99b3cdcacd Mon Sep 17 00:00:00 2001 From: Byron Kamal Date: Tue, 11 Apr 2017 00:32:31 -0300 Subject: [PATCH 10/10] =?UTF-8?q?Quest=C3=A3o=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lectures/oo/exercicio2/atividade2.md | 55 ++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/lectures/oo/exercicio2/atividade2.md b/lectures/oo/exercicio2/atividade2.md index 66b825e..3708f25 100644 --- a/lectures/oo/exercicio2/atividade2.md +++ b/lectures/oo/exercicio2/atividade2.md @@ -181,7 +181,10 @@ Desse modo, pede-se nessa questão que seja modelada e implementada em Java a cl 15/0016131 - Luciana Ribeiro Lins de Albuquerque +*Obs: a classe Drone (questão 3) completa a lista de códigos. + {% highlight java %} + public class Controle { int controleAutonomiaBateria; @@ -217,6 +220,7 @@ public class Controle { {% endhighlight %} {% highlight java %} + import java.util.Scanner; public class Ler { @@ -262,6 +266,7 @@ public class Ler { {% highlight java %} + import java.util.Scanner; public class Principal { @@ -639,6 +644,56 @@ public class Principal { a3.cargaHoraria() = 220; } } +{% endhighlight %} + +15/0007182 - Byron Kamal Barreto Correa + +15/0016131 - Luciana Ribeiro Lins de Albuquerque + + +*Erros: + + +Erro 1: a3.cargaHoraria() = 220; +Justificativa: cargaHoraria é um atributo e está sendo declarado como método, um método não pode ser igualado a um valor. + + +Erro 2: Nao instanciaram o objeto que a3 aponta. + + +Erro 3: Não instanciaram o objeto que c1 aponta. + + +Erro 4: Curso.obterDetalhes(); +Justificativa: O correto seria c1.obterDetalhes(), por que o curso deve ser especificado. + + +Erro 5: Aluno.obterDetalhes(); +Justificativa: O correto seria a3.obterDetalhes(), por que o aluno deve ser especificado. + +*Código corrigido: +{% highlight java %} +public class Principal { + public static void main(String[] args) { + Curso c1, c2; + Aluno a1, a2, a3; + + c1 = new Curso(1, "Engenharia de Software", 240); + c2 = new Curso(2, "Engenharia Eletrônica", 257); + + a1 = new Aluno("Andre", c1, 13, 23, 02, 1983); + a2 = new Aluno("Maria", c2, 5, 27, 5, 1994); + a3 = new Aluno("Junior",c1, 70, 16, 11, 1995); + + c1.obterDetalhes(); + c2.matricula = 20; + Curso.nome = "Ciência da computação"; + c1.codigo = 21; + a3.obterDetalhes(); + a3.cargaHoraria(); + } +} + {% endhighlight %} **Questão 10:** sabe-se que um curso em é formado por um conjunto de disciplinas, para as quais são definidas as seguintes características: