Leia 2 valores com uma casa decimal (x e y), que devem representar as coordenadas de um ponto em um plano. A seguir, determine qual o quadrante ao qual pertence o ponto, ou se está sobre um dos eixos cartesianos ou na origem (x = y = 0).
Se o ponto estiver na origem, escreva a mensagem “Origem”.
Se o ponto estiver sobre um dos eixos escreva “Eixo X” ou “Eixo Y”, conforme for a situação.
Estou com essa classe mais não está copilando
import java.io.IOException;
import java.util.Scanner;
class InterfaceTexto {
private Scanner entrada;
private CondenadasDeUmponto x;
private CondenadasDeUmponto y;
public InterfaceTexto(){
entrada = new Scanner(System.in);
x = new CondenadasDeUmponto();
y =new CondenadasDeUmponto();
}
public void executar(){
double x= entrada.nextDouble();
double y = entrada.nextDouble();
System.out.println("Eixo X : " + x.getCondenadasDeUmponto());
System.out.println("Eixo Y : " + y.getCondenadasDeUmponto());
}
}
class CondenadasDeUmponto
{
//atributos
private static double x , y;
//Contrutor de Objetos
public String setQuadrante1(double x , double y){
if (x>0 && y>0){
}
return “Q1”;
}
public String setQuadrante2(double x , double y){
if(x<0 && y>0){
}
return "Q2" ;
}
public String setQuadrante3(double x , double y){
if(x<0 && y<0){
}
return "Q3";
}
public String setQuadrante4(double x , double y){
if(x>0 && y<0){
}
return "Q4";
}
}
public class Principal{
public static void main(String[] args) throws IOException
{
InterfaceTexto i = new InterfaceTexto();
i.executar();
}
}
Edita seu post, seleciona os códigos e clica no botão de texto pré-formatado
, identificado pelo botão </>
.
Seu erro de compilação está na classe InterfaceTexto
no método executar
:
public void executar() {
double x = entrada.nextDouble();
double y = entrada.nextDouble();
System.out.println("Eixo X : " + x.getCondenadasDeUmponto());
System.out.println("Eixo Y : " + y.getCondenadasDeUmponto());
}
Você está tentando invocar o método getCondenadasDeUmponto()
nas variáveis x
e y
, elas são tipos primitivos double
, então elas não tem nenhum método.
Consegui resolver o problema muito obrigado !
import java.io.IOException;
import java.util.Scanner;
class InterfaceTexto {
private Scanner entrada;
private CondenadasDeUmponto x;
private CondenadasDeUmponto y;
public InterfaceTexto(){
entrada = new Scanner(System.in);
x = new CondenadasDeUmponto();
y = new CondenadasDeUmponto();
}
public void executar(){
double x= entrada.nextDouble();
double y = entrada.nextDouble();
CondenadasDeUmponto cordenadas = new CondenadasDeUmponto();
System.out.println(cordenadas.getQuadrantes(x,y));
}
}
class CondenadasDeUmponto {
//atributos
private double x =0, y = 0 ;
public String getQuadrantes(double x , double y){
if (x>0 && y>0){
return “Q1”;
}
if(x<0 && y>0){
return "Q2" ;
}
if(x<0 && y<0){
return "Q3";
}
if(x>0 && y<0){
return "Q4";
}
if(x==0 && y==0){
return "Origem";
}
if(y==0){
return "Eixo X";
}
if(x==0){
return "Eixo Y";
}
return "";
}
}
public class Principal{
public static void main (String[] args) throws IOException{
InterfaceTexto T = new InterfaceTexto();
T.executar();
}
}