Dúvida

Estou iniciando em java e o professor passou uma lista de exercícios e eu não estou conseguindo terminar esse…Ele não esta rodando como deveria(como eu acho que deveria)…A questão é:

Faça um algoritmo que pergunte a profissão e a quantidade de filhos que a pessoa possui. Quando a quantidade de filhos estiver entre 2 e 3, imprimir a mensagem : ?Você precisa de orientação sexual pois se a quantidade de filhos aumentar você perde a bonificação?. Quando formaior, mostrar: ?Você perdeu a bonificação?. Caso a quantidade de filhos esteja dentro do permitido, isto é, até 3, imprimir o reajuste do salário utilizando a fórmula (a). Caso contrário utilizar a fórmula (b): (a) Salário + Percentual de Ajuste * quantidade de filhos; (b) Salário +Percentual de Ajuste.

e eu fiz:

[code]public static void main(String[] args) {
Scanner scan = new Scanner(System.in);

	System.out.println("Qual a sua profissão?");
	String prof = scan.next();
	
	double sal=0;
	double Reajuste = 0;
	double Total = 0;
	if (prof == "Contador") {
		Reajuste = 10;
	} else if (prof == "Médico") {
		Reajuste = 5.5;
	} else if (prof == "Advogado") {
		Reajuste = 5;
	} else if (prof == "Profissional de informática") {
		Reajuste = 20;
	} else if (prof == "Outros") {
		Reajuste = 7.5;
	}


	System.out.println("Qual o seu salário? ");
	sal = scan.nextDouble();

	System.out.println("Quantos filhos possui? ");
	int qt_filhos = scan.nextInt();
	
	
	if (qt_filhos >= 2 && qt_filhos <= 3) {
		Total = sal + (((sal * Reajuste) / 100) * qt_filhos);
		System.out.println("Você precisa de orientação sexual pois se a quantidade de filhos aumentar você perde sua bonificação!");
		System.out.println("Você receberá: R$" + Total);
	} else if (qt_filhos > 3) {
		Total = sal + (sal * Reajuste);
		System.out.println("Você perdeu sua bonificação!");
		System.out.println("Você receberá: R$" + Total);
	} else {
		Total = sal;
		System.out.println("Você receberá: R$" + Total);

	}

}

}[/code]

Obrigada pela ajuda!

Seja mais específico. Eu realmente não estou consiguindo entender a sua dúvida.

Até mais!

O programa não esta rodando como eu queria…ele não esta calculando o salário…não entra no laço…o salário final é igual ao salário inicial…

Primeiro de tudo, não se usa ‘==’ para objetos, isso inclui wrappers (Integer, Long…), usa-se o método equals().
Por exemplo, você fez :

if (prof == "Contador") { Reajuste = 10; }

O correto é:

if (prof.equals("Contador")) { Reajuste = 10; }

Se quiser ignorar o “case sensitive”, troque o equals() por equalsIgnoreCase(). Faça essa alteração e teste novamente. De resto, se está gerando erro, poste-o, senão, informe os dados de entrada e o resultado que está obtendo, para analisarmos.

Abraços.