import java.util.Scanner;
interface Forma {
float getArea();
float getPerimetro();
String toString();
class Retangulo implements Forma {
float comprimento;
float altura;
float getArea;
float getPerimetro;
public float setComprinento() {
this.comprimento = comprimento;
}
public float setAltura() {
this.altura = altura;
}
public float getArea() {
return comprimento * altura;
}
public float getPerimetro() {
return ((comprimento * 2) + (altura * 2));
}
public String toString() {
return "tipo:retangulo,altura:" + this.altura + ",comprimento:" + this.comprimento + ",area:" + this.getArea + ",perimetro" + this.getPerimetro;
}
}
class Quadrado implements Forma {
float comprimento;
float getArea;
float getPerimetro;
public float setComprinento() {
return this.comprimento;
}
public float getArea() {
return (comprimento * comprimento);
}
public float getPerimetro() {
return comprimento * 4;
}
}
class Circulo implements Forma {
public float raio, getArea, getPerimetro;
Circulo(float raio) {
this.setRaio();
this.getArea();
this.getPerimetro();
}
public void setRaio(float raio) {
this.raio = raio;
this.getArea();
this.getPerimetro();
}
public float getRaio() {
return this.raio;
}
public String toString() {
return "tipo:circulo,raio:" + this.raio + ",area:" + this.getArea + ",perimetro" + this.getPerimetro;
}
private void getArea() {
this.getArea = (float) (Math.PI * Math.pow(this.raio, 2));
}
private void getPerimetro() {
this.getPerimetro = (float) (2 * Math.PI * this.raio);
}
}
public class Solution {
private static final Scanner INPUT_READER = new Scanner(System.in);
public static void main(String[] args) {
String[] input = INPUT_READER.nextLine().split(" ");
String tipo = input[0];
float comprimento = Float.parseFloat(input[1]);
float largura = 0;
System.out.println("====================================");
Forma forma = null;
switch (tipo) {
case "R": {
largura = Float.parseFloat(input[2]);
forma = new Retangulo(comprimento, largura);
System.out.println("Encontrando área e perímetro do Retângulo");
break;
}
case "Q": {
forma = new Quadrado(comprimento);
System.out.println("Encontrando área e perímetro do Quadrado");
break;
}
case "C": {
forma = new Circulo(comprimento);
System.out.println("Encontrando área e perímetro do Círculo");
break;
}
}
System.out.println("====================================");
System.out.println("Área = " + forma.getArea() + " e Perímetro = " + forma.getPerimetro() + "\n");
System.out.println("=========================");
System.out.println("Imprimindo como String");
System.out.println("=========================");
System.out.println(forma.toString());
}
}
}
Não precisa desses atributos
Nome do método está errado e está faltando o parâmetro
Também está faltando o parâmetro
Não está passando o parâmetro pro método
Porque declarou Retangulo, Quadrado e Círculo dentro da interface Forma?