GARANTIR DESCONTO

Fórum Formula de Bhaskara #567210

09/09/2014

0

Pessoal, sou iniciante em java, e tenho um trabalho a fazer, preciso da ajuda de vocês. A partir daqui: Crie um programa em Java que use a fórmula de bhaskara para calcular as raízes de uma equação do 2º grau.(Essa parte eu consigo fazer, o que me complica é o seguinte): O programa deve fazer a análise do delta para chegar à solução. se o delta for maior do que zero, existem duas raízes reias (x1 e x2); se o delta for igual a zero, existem duas raízes reais e iguais (x1= x2); se o delta for menor do que zero, raízes imaginárias; O algoritmo deve calcular os resultados, de acordo com a análise do delta, e apresentar os valores. Somente no caso do delta menor do que zero, o programa deverá enviar uma mensagem ?Raízes Imaginárias?. Dica: double r, x = 9; r = Math.sqrt(x); Desde já, Obrigado!
Cdescovi

Cdescovi

Responder

Post mais votado

09/09/2014

É um método privado, ou seja, pertence somente a classe Delta então usamos o "private" para definir isso. Void porque não possui parâmetros, ou seja, não retorna nada. É como nos atributos, quando queremos que o atributo seja visualizado apenas por aquela classe usamos o private, quando queremos que ele seja visualizado pela classe e pela classes herdeiras dela então usamos o protected, quando queremos que o atributo seja visualizado por qualquer classe usamos o public, no caso da classe Delta como temos apenas uma classe e nenhuma herdeira então usamos o private mas também poderíamos usar o public e o protected mas ficaria sem sentido. Public, Private e Protected são chamados de Controladores de Acesso. Segue um link para entender melhor: [url]http://www.tiexpert.net/programacao/java/public-private-protected.php[/url] Caso não tenha entendido, o que fiz foi criar dois métodos, métodos são funções que uma classe contém, é como uma pessoa, uma pessoa seria a classe e as funções como falar, andar e etc, são os métodos. Então criei dois métodos, um que calcula Delta e outro que calcula a Raiz, para cada método precisamos definir se ele é public, protected ou private e em seguida o retorno dele, já que não há retorno em ambos então podemos colocar o void(é obrigatório). Criei um construtor sem parâmetros em cima(public Delta(){}) e chamei o método deltaCalculo(), no método principal que é o main eu apenas instanciei a classe chamando o método construtor que seria os parenteses depois do nome. Tudo isso foi feito baseando-se nos conceitos de ORIENTAÇÃO A OBJETOS. Se você ainda não entrou nos conceitos de orientação a objetos, vou te passar o mesmo código mas sem OO(Orientação a Objetos), nele você precisa atribuir um valor para as variáveis(chamadas de atributos em java) já que você não irá conseguir entrar com os dados, onde está escrito ValorDaVariavel você atribui um valor e compila/executa a classe. Segue o código:
import java.util.*;

public class Delta {

	public static void main(String[] args) {

		int a, b, c;
		double delta, x1, x2;

		a = ValorDaVariavel;
		b = ValorDaVariavel;
		c = ValorDaVariavel;

		delta = (b * b) + (-4 * (a * c));

		System.out.println("Delta: " + delta);

		if (delta >= 0) {

			x1 = ((-(b) + Math.sqrt(delta)) / 2 * a);
			x2 = ((-(b) - Math.sqrt(delta)) / 2 * a);

			System.out.println("x1 = " + x1);
			System.out.println("x2 = " + x2);

		} else {
			System.out.println("Delta não possui raiz!");
			System.exit(0);
		}
	}

}
Bons estudos, jovem!

Luiz Gustavo

Luiz Gustavo
Responder

Gostei + 2

Mais Posts

09/09/2014

Luiz Gustavo

Killua, não sei se é o que você quer mas em todo caso está aí! Você pode criar dois métodos, um que calcula Delta e o outro que calcular X1 e X2, no que calcula Delta você pode fazer um IF depois de calcular Delta, no caso você faria a condição de que se Delta for maior ou igual a 0 ele chama o método que calcula X1 e X2, caso contrário ele encerra o programa. Veja o código que montei para você:
import java.util.*;

public class Delta {

	Scanner read = new Scanner(System.in);

	int a, b, c;
	double delta, x1, x2;

	public Delta() {
		deltaCalculo();
	}

	private void deltaCalculo() {

		System.out.println("Digite o valor de A, B e C respectivamente: ");
		a = Integer.parseInt(read.next());
		b = Integer.parseInt(read.next());
		c = Integer.parseInt(read.next());

		delta = (b * b) + (-4 * (a * c));

		System.out.println("Delta: " + delta);

		if (delta >= 0) {
			calculaX();
		} else {
			System.out.println("Delta não possui raiz!");
			System.exit(0);
		}

	}

	private void calculaX() {

		x1 = (double) ((-(b) + Math.sqrt(delta)) / 2 * a);
		x2 = (double) ((-(b) - Math.sqrt(delta)) / 2 * a);

		System.out.println("x1 = " + x1);
		System.out.println("x2 = " + x2);

	}

	public static void main(String[] args) {
		new Delta();
	}

}

Fiz as contas no papel e no programa e os resultados bateram. Espero que seja isso mesmo e tenha te ajudado.
Responder

Gostei + 1

09/09/2014

Cdescovi

Valeu Master, como disse sou iniciante 0 a esquerda mesmo, imaginei que fosse "IF" "ELSE", mas não tinha certeza e nem sabia onde declarar. Muito Obrigado! Mais uma pergunta, desculpe a ignorância, mas por que "private void"?
Responder

Gostei + 0

09/09/2014

Cdescovi

Cara, não tenho como te agradecer, além de dizer obrigado e dizer que te admiro por ter tal conhecimento e dar seu tempo para ajudar os outros. Muito obrigado mesmo!
Responder

Gostei + 0

10/09/2014

Luiz Gustavo

Sempre as ordens Killua, seja bem-vindo ao mundo da programação em JAVA. Abraços, parceiro.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar