: Escreva um programa que leia dois valores reais e apresente a diferença do
maior para o menor. Um método chamado diferenca deverá ser implementado para realizar
o cálculo e exibir o resultado.
: Escreva um programa que leia dois valores reais e apresente a diferença do
maior para o menor. Um método chamado diferenca deverá ser implementado para realizar
o cálculo e exibir o resultado.
O que você já conseguiu fazer? Poste para vermos!
import javax.swing.JOptionPane;
public class MyClass {
public static void main(String args[]) {
float num1;
float num2;
num1 = Integer.valueOf(JOptionPane.showInputDialog(null, "Informe um valor: "));
num2 = Integer.valueOf(JOptionPane.showInputDialog(null, "Informe outro valor: "));
if (num1 > num2){
JOptionPane.showMessageDialog(null, "A diferença entre "+num1+" e "+num2+" vale "+num1-num2);
}else{
JOptionPane.showMessageDialog(null, "A diferença entre "+num2+" e "+num1+" vale "+num2-num1);
}
}
}
Desenvolvi assim, o problema que o professor quer que crie em método/parâmetro, e não sei como fazer
Enunciado:
Escreva um programa que leia dois valores reais e apresente a diferença do maior para o menor. Um método chamado diferença deverá ser implementado para realizar o cálculo e exibir o resultado.
1 - “Escreva um programa que leia”, então subentende-se que o usuário irá informar os valores. Logo, deve-se usar o Scanner
ou o showInputDialog.
2 - “Um método chamado diferença deverá ser implementado para realizar o cálculo e exibir o resultado.”
Na programação orientada a objetos há os conceitos os conceitos básicos de objeto, classe, estado, comportamento, característica e mensagem.
2.1 Objeto: do ponto de vista da computação, um objeto é qualquer coisa em que se pode identificar as ideias de estado e comportamento.
É uma construção de software que encapsula estado e comportamento. Logo, os objetos permitem que se modele o software em termos reais e abstrações.
Fonte[Anthony Sintes - Aprenda Programação Orientada a Objetos em 21 Dias, pg. 7].
2.2 O estado de um objeto é valor que ele possui em um determinado momento. Assim, por exemplo, uma casa pode ter como característica a sua cor. O valor dessa característica é seu o estado. Nesse caso, o estado pode ser branca, por exemplo. O estado estado de um objeto é armazenado em variáveis internas, comumente chamadas de atributo.
2.3 O comportamento identifica o que um objeto faz. Por exemplo, uma pessoa fala, um cachorro late. O comportamento de um objeto é definido por meio de trocas de mensagens. Essas trocas de mensagens são implementadas por meio de funções ou métodos do objeto.
É uma ação executada por um objeto quando a ele é enviada uma mensagem ou em resposta a uma mudança de estado. Logo, é algo que um objeto faz.
Fonte[Anthony Sintes - Aprenda Programação Orientada a Objetos em 21 Dias, pg. 8].
2.4 Uma mensagem é forma como os objetos se comunicam entre si. As mensagens são passadas por meio de chamadas de método (termo usado em Java). Logo, enviar uma mensagem é realizar a chamada de um método de um objeto por outro objeto. Logo, o main
é um método.
Uma chamada de método, também conhecida como chamada de função, passagem ou envio de mensagem, define a ação de um objeto de exercer o comportamento de outro ao operar sobre esse outro.
Fonte[Anthony Sintes - Aprenda Programação Orientada a Objetos em 21 Dias, pg. 8].
2.5 Uma classe pode ser definida como uma forma de organizar, de classificar os objetos que apresentem características e comportamentos comuns.
Classe é o conceito que agrupa objetos que apresentam os mesmos comportamentos e atributos comuns, bem como, a quais mensagens (ou estímulos) seus objetos respondem. Assim, as classes definem os atributos e comportamentos comuns compartilhados por um tipo de objeto.
Fonte[Anthony Sintes - Aprenda Programação Orientada a Objetos em 21 Dias, pg. 8].
2.6 Métodos permitem que os objetos troquem mensagens.
É todo comportamento de uma classe ou, de outra forma, dos objetos agrupados sob a classe. O método é a principal forma pela qual os objetos trocam mensagens. Em linhas gerais, os objetos se comunicam por meio de mensagens enviadas aos métodos (pedido) que devolvem um resultado ou alteram o seu estado (serviço). Especificamente, isso funciona sob a forma de parâmetros e valores de retorno.
2.7 Parâmetros são as informações enviadas de um objeto a outro por meio de métodos. É o conteúdo da mensagem.
É uma informação (mensagem) enviada a um objeto para que ele realize uma ação ou mude de estado. Logo, um parâmetro é um valor que permite modificar ou ajustar o estado de um objeto.
Os objetos são realizações, são ocorrências de uma classe, também ditas instâncias. Logo, deve haver uma classe que tenha uma instância (objeto) que envia mensagens por meio de um método chamado diferença
.
Passemos ao código:
import javax.swing.JOptionPane;
public class Subtracao {
public float minuendo; //Atributo 1 - parte da qual se tira
public float subtraendo; //Atributo 2 - parte que é tirada
public float resto; //Atributo 3 - é o resultado
public float diferenca(float m, float s){ //método diferença
return m - s;
}
public static void main(String[] args){ //método main
Subtracao subtracao = new Subtracao(); //Criação de um objeto subtração
subtracao.minuendo = Float.parseFloat(JOptionPane.showInputDialog(null, "Minuendo: "));
subtracao.subtraendo = Float.parseFloat(JOptionPane.showInputDialog(null, "Subtraendo: "));
subtracao.resto = subtracao.diferenca(subtracao.minuendo, subtracao.subtraendo);
JOptionPane.showMessageDialog(null, subtracao.resto);
}
}
O certo seria ter os atributos todos privados e ter os métodos acessores (para pegar os estados - get) e os métodos modificadores (para mudar o estado - set). Por questões de simplicidade, eu os coloquei como públicos e os acessei diretamente pelo objeto subtracao
.
Pôxa,muito obrigadaaa!!!. Sabe, tenho várias dificuldades tenho 53 anos e entrei nessa área mais como um desafio. Seria excelente , um canal, onde as pessoas tivessem a sua simplicidade e metodologia para explicação, consegui desenvolver mais 3 exercícios, a partir do que vc explicou. Percebo que nesta área existem excelentes profissionais, mas, que não possuem didática, conhecem muito, mas, não conseguem dividir como vc fez. Cheguei achar que o problema era meu, mas, com sua explicação , concluí que não, o que me deixou muito feliz.