Escreva um programa que permita ao usuário informar valores para preencher os dados de um retângulo

6 respostas Resolvido
javaprogramação
I

Escreva um programa que permita ao usuário informar valores para preencher os dados de um retângulo (0,5) (base e altura, que devem ser armazenados em um registro) (0,5). O programa deve ainda conter uma função para calcular o perímetro do retângulo (0,5) e outra para calcular a área do mesmo (0,5)

import java.util.Scanner;

class AreaRetang {
  float base,altura;
}

public class Main {
  
  public static void main(String[] args) {
    static AreaRetang area = new AreaRetang();
    Scanner input = new Scanner(System.in);
    
    System.out.print("Informe a base do retangulo em cm");
    AreaRetang.base = input.nextFloat();
    System.out.print("Informe a altura do retangulo em cm");
    AreaRetang.altura = input.nextFloat();
    AreaRetang(AreaRetang.base, AreaRetang.altura);
  }
  
  public static void areaRetang(float base, float altura) {
    System.out.println("A aréa do triangulo é" + AreaRetang.base * AreaRetang.altura + "cm");
  }
}

Programa não roda.

6 Respostas

L

Não executa pq dá algum erro?

I

error: illegal start of expression
static AreaRetang area = new AreaRetang();

L

Ah sim, não tinha reparado. Vc não pode usar static assim dentro de um método. Apenas em variáveis no escopo de classe. Basta remover o static.

I

OUTRO ERRO.

error: non-static variable base cannot be referenced from a static context
AreaRetang.base = input.nextFloat();

L

Não deveria ser apenas assim?

float base = input.nextFloat();

E essa linha também está errada:

AreaRetang(AreaRetang.base, AreaRetang.altura);

Faltou a palavra chave new, e a classe AreaRetang não tem esse construtor.

S
Solucao aceita

Variáveis locais não podem ser static.

Criado 13 de dezembro de 2021
Ultima resposta 13 de dez. de 2021
Respostas 6
Participantes 3