POO reorganization
This commit is contained in:
parent
4a56d525b6
commit
1c772f058b
|
@ -2,11 +2,21 @@
|
|||
### Projetos + resoluções de exercícios organizados por aulas
|
||||
### Linguagem usada: [Java](https://www.java.com/en/)
|
||||
|
||||
---
|
||||
|
||||
## Organização do diretório
|
||||
* [src](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src) • Código fonte das aulas/projetos
|
||||
* [out](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/out) • Output da compilação da [src](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src)
|
||||
* [guides](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/guides) • Guiões das aulas práticas
|
||||
* [slides](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/slides) • Slides das aulas teóricas
|
||||
* [datafiles](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/datafiles) • Ficheiros extra com texto/dados
|
||||
|
||||
---
|
||||
## Índice
|
||||
| Aula nº | Tópicos |
|
||||
|-------------------------------------------------------------------------------------|----------------------------------------|
|
||||
| [01](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/aula01) | Introduction, Basics |
|
||||
|-----------------------------------------------------------------------------------------|----------------------|
|
||||
| [01](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula01) | Introduction, Basics |
|
||||
| [02](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/aula02) | Flux Control |
|
||||
|
||||
---
|
||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
# Programação Orientada a Objetos
|
||||
## Aula 01
|
||||
### Tópico principal da aula: Introduction, Basics
|
||||
|
||||
---
|
||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
Binary file not shown.
|
@ -1,6 +0,0 @@
|
|||
# Programação Orientada a Objetos
|
||||
## Aula 01
|
||||
### Tópico principal da aula: Introduction, Basics
|
||||
|
||||
---
|
||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,6 @@
|
|||
# Programação Orientada a Objetos
|
||||
## Código fonte para as diversas aulas de POO
|
||||
### Métodos extra no diretório [*utils*](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/src/utils)
|
||||
|
||||
---
|
||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
|
@ -1,4 +1,4 @@
|
|||
package aula01.src;
|
||||
package aula01;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class KmToMiles {
|
|
@ -1,4 +1,4 @@
|
|||
package aula01.src;
|
||||
package aula01;
|
||||
|
||||
public class MyFirstClass {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package aula01.src;
|
||||
package aula01;
|
||||
|
||||
public class PescadaDeRaboNaBoca {
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# Programação Orientada a Objetos
|
||||
## Aula 01
|
||||
### Tópico principal da aula: Introduction, Basics
|
||||
|
||||
* [Guião](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/guides/POO-2021-aula01.pdf)
|
||||
* [Slides](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/slides/POO_01_Introdução.pdf)
|
||||
|
||||
---
|
||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
|
@ -1,4 +1,4 @@
|
|||
package aula01.src;
|
||||
package aula01;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
@ -8,12 +8,11 @@ import java.nio.file.Paths;
|
|||
public class ReadFileExample {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Path fich = Paths.get("major.txt");
|
||||
Path fich = Paths.get("datafiles/aula01/major.txt");
|
||||
try {
|
||||
Files.readAllLines(fich).stream().forEach(System.out::println);
|
||||
} catch (IOException e) {
|
||||
System.out.println("Certifique-se que o ficheiro \"major.txt\" está na raiz da pasta do projeto");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package aula01.src;
|
||||
package aula01;
|
||||
|
||||
public class StringExample {
|
||||
public static void main(String[] args) {
|
|
@ -1,4 +1,7 @@
|
|||
package aula02;
|
||||
|
||||
import java.util.Scanner;
|
||||
import utils.UserInput;
|
||||
|
||||
// Solução do exercício 5
|
||||
|
||||
|
@ -6,25 +9,13 @@ public class AverageSpeed {
|
|||
public static void main(String[] args) {
|
||||
Scanner sin = new Scanner(System.in);
|
||||
System.out.println("v1? ");
|
||||
double v1;
|
||||
do {
|
||||
v1 = sin.nextDouble();
|
||||
} while (v1 <= 0);
|
||||
double v1 = UserInput.getPositiveNumber(sin);
|
||||
System.out.println("d1? ");
|
||||
double d1;
|
||||
do {
|
||||
d1 = sin.nextDouble();
|
||||
} while (d1 <= 0);
|
||||
double d1 = UserInput.getPositiveNumber(sin);
|
||||
System.out.println("v2? ");
|
||||
double v2;
|
||||
do {
|
||||
v2 = sin.nextDouble();
|
||||
} while (v2 <= 0);
|
||||
double v2 = UserInput.getPositiveNumber(sin);
|
||||
System.out.println("d2? ");
|
||||
double d2;
|
||||
do {
|
||||
d2 = sin.nextDouble();
|
||||
} while (d2 <= 0);
|
||||
double d2 = UserInput.getPositiveNumber(sin);
|
||||
|
||||
double vm = (d1 + d2) / ((d1 / v1) + (d2 / v2));
|
||||
System.out.printf("Velocidade final da viagem: %fkm/h", vm);
|
|
@ -1,3 +1,5 @@
|
|||
package aula02;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 2
|
|
@ -1,3 +1,5 @@
|
|||
package aula02;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 9
|
|
@ -1,3 +1,5 @@
|
|||
package aula02;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 7
|
|
@ -1,3 +1,7 @@
|
|||
package aula02;
|
||||
|
||||
import utils.UserInput;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 3
|
||||
|
@ -6,7 +10,7 @@ public class EnergyToHeatWater {
|
|||
public static void main(String[] args) {
|
||||
Scanner sin = new Scanner(System.in);
|
||||
System.out.print("Kg de água? ");
|
||||
double kgOfWater = sin.nextDouble();
|
||||
double kgOfWater = UserInput.getPositiveNumber(sin);
|
||||
System.out.print("Temperatura inicial da água (ºC)? ");
|
||||
double initialTemperature = sin.nextDouble();
|
||||
System.out.print("Temperatura final da água (ºC)? ");
|
|
@ -1,3 +1,7 @@
|
|||
package aula02;
|
||||
|
||||
import utils.UserInput;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 4
|
||||
|
@ -6,7 +10,7 @@ public class Investment {
|
|||
public static void main(String[] args) {
|
||||
Scanner sin = new Scanner(System.in);
|
||||
System.out.print("Saldo inicial (Euros)? ");
|
||||
double initialWallet = sin.nextDouble();
|
||||
double initialWallet = UserInput.getPositiveNumber(sin);
|
||||
System.out.print("Taxa de juro mensal (%)? ");
|
||||
double tax = sin.nextDouble();
|
||||
double finalWallet = initialWallet * Math.pow(1 + tax/100, 3);
|
|
@ -1,3 +1,7 @@
|
|||
package aula02;
|
||||
|
||||
import utils.UserInput;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 1
|
||||
|
@ -6,7 +10,7 @@ public class KmToMiles {
|
|||
public static void main(String[] args) {
|
||||
System.out.print("Km? ");
|
||||
Scanner sin = new Scanner(System.in);
|
||||
double km = sin.nextDouble();
|
||||
double km = UserInput.getPositiveNumber(sin);
|
||||
double miles = km / 1.609;
|
||||
System.out.printf("%fkm = %f miles", km, miles);
|
||||
}
|
|
@ -1,3 +1,8 @@
|
|||
package aula02;
|
||||
|
||||
import utils.MathTools;
|
||||
import utils.UserInput;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 8
|
||||
|
@ -7,15 +12,9 @@ public class PythagoreanTheorem {
|
|||
Scanner sin = new Scanner(System.in);
|
||||
|
||||
System.out.println("Cateto A:");
|
||||
double a;
|
||||
do {
|
||||
a = sin.nextDouble();
|
||||
} while (a <= 0);
|
||||
double a = UserInput.getPositiveNumber(sin);
|
||||
System.out.println("Cateto B:");
|
||||
double b;
|
||||
do {
|
||||
b = sin.nextDouble();
|
||||
} while (b <= 0);
|
||||
double b = UserInput.getPositiveNumber(sin);
|
||||
|
||||
double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
|
||||
|
||||
|
@ -23,6 +22,6 @@ public class PythagoreanTheorem {
|
|||
double angRad = Math.acos(cossin);
|
||||
double angDeg = angRad * 180 / Math.PI;
|
||||
|
||||
System.out.printf("O comprimento da hipotenusa é %f e o valor do angulo entre o cateto A e a hipotenusa é %f°", (float) (Math.round(c * 100) / 100), (float) (Math.round(angDeg * 100) / 100));
|
||||
System.out.printf("O comprimento da hipotenusa é %f e o valor do angulo entre o cateto A e a hipotenusa é %f°", MathTools.round(c, 2), MathTools.round(angDeg, 2));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
# Programação Orientada a Objetos
|
||||
## Aula 02
|
||||
### Tópico principal da aula: Flux Control
|
||||
|
||||
* [Guião](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/guides/POO-2021-aula02.pdf)
|
||||
* [Slides](https://github.com/TiagoRG/uaveiro-leci/tree/master/1ano/2semestre/poo/slides/POO_02_ControloFluxo.pdf)
|
||||
|
||||
---
|
||||
*Pode conter erros, caso encontre algum, crie um* [*ticket*](https://github.com/TiagoRG/uaveiro-leci/issues/new)
|
|
@ -1,3 +1,5 @@
|
|||
package aula02;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 10
|
|
@ -1,3 +1,7 @@
|
|||
package aula02;
|
||||
|
||||
import utils.UserInput;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
// Solução do exercício 6
|
||||
|
@ -7,10 +11,7 @@ public class SecsToHMS {
|
|||
Scanner sin = new Scanner(System.in);
|
||||
|
||||
System.out.println("Introduza os segundos totais: ");
|
||||
int totalSecs;
|
||||
do {
|
||||
totalSecs = sin.nextInt();
|
||||
} while (totalSecs <= 0);
|
||||
int totalSecs = (int) UserInput.getPositiveNumber(sin);
|
||||
int secs = totalSecs % 60;
|
||||
int mins = Math.round((float) (totalSecs / 60));
|
||||
int hours = Math.round((float) (mins / 60));
|
Loading…
Reference in New Issue