Duvida com a divisão no java

Bom estou assistindo várias video aulas e também lendo alguns livro para a linguagem java, e depois de ver algumas video aulas e ler alguns capitulos de livro resolvi então, fazer um exercício para ter certeza que apreendi algo e estou com uma dúvida em um aspecto simples.
Eu destaquei no código a parte que está me dando poblema.
o poblema que está dando é o seguinte, a variável totalOvosGranja recebe a quantidade de ovos botados pelos objetos galinha1 e galinha2(somados), e ai que aparece o poblema, declarei um método MediaOvosgranja() que retorna um double no caso eu coquei para retornar totalOvosGranja/2, agora se o totalOvosGranja for um número par
ele me devolve um resultado correto, mais se ele for impar por exemplo 3 , ele me devolve 1.0,sendo que 3/2 é igual a 1,5, se o totalOvosGranja for 5, ele me devolve 2.0, nessa sequencia, se alguem puder me ajudar ficaria muito grato :shock: ;

[code]package MetodosVariaveisStatic;

import javax.swing.JOptionPane;

public class GalinhaMain {

public static void main(String[] args) {
	
	
	Galinha galinha1 = new Galinha();
	Galinha galinha2 = new Galinha();
	int opcao=0; 
	
	do{
	
		opcao = Integer.parseInt(JOptionPane.showInputDialog("GRANJA OVOS BONS" + "\n" + "1- Ações da galinha" + "\n" + 
		"2- Ver Quantidade e média de ovos da galinha" + "\n" + "3- informações da granja" +"\n" + "0- sair"));
	
		switch (opcao) {
		
		case 0:
			opcao = 0;
			JOptionPane.showMessageDialog(null, "Sistema finalizado","Finalizado",JOptionPane.PLAIN_MESSAGE,null);			
			break;
		case 1:
			do{
				opcao = Integer.parseInt(JOptionPane.showInputDialog("1- Botar ovo com gainha 1" + "\n" + "2- botar ovo com galinha 2" 
				+ "\n" +"0- Sair"));
				
				switch (opcao) {
				case 0:
					opcao = 0;
					break;
				case 1:
					galinha1.BotarOvos();
					JOptionPane.showMessageDialog(null, "A Galinha 1 botou 1 ovo, ele foi adicionado a conta");
					break;
				
				case 2:
					galinha2.BotarOvos();
					JOptionPane.showMessageDialog(null, "A Galinha 2 botou 1 ovo, ele foi adicionado a conta");
					break;
				default:
					JOptionPane.showMessageDialog(null, "Digito inválido","inválido",JOptionPane.ERROR_MESSAGE,null);
					opcao = 1;
					break;
				}// final swt
			
				
			}while(opcao != 0);
				opcao = 1;			
			break; 
			
		case 2:
			JOptionPane.showMessageDialog(null, "Número de ovos botados pela 1º galinha:  " + galinha1.getOvosBotados() + "\n" + 
			"Arrecadamento da 1º galinha:  " + galinha1.ArrecadementoGalinha() + "\n" + "Número de ovos botados pela 2º galinha:  " + 
			galinha2.getOvosBotados() + "\n" + "Arrecadamento da 2º galinha:  " + galinha2.ArrecadementoGalinha() );
			
			// exibir o quanto cada galinha colocou de ovos, a quantidade total pertencente a granja, a média de ovos e o preço total dos ovos;
			break;
		case 3:
			JOptionPane.showMessageDialog(null, "Ovos na grajas: " + Galinha.getTotalOvosGranja() + "\n" + "Média dos ovos da granja: " +
			Galinha.MediaOvosgranja() + "\n" + "Valor obtido: " + Galinha.ArrecadamentoGraja());
			break;
		default:
			JOptionPane.showMessageDialog(null, "Digito inválido","invalido",JOptionPane.ERROR_MESSAGE,null);
			opcao = 0;
			break;
		}
		
		
	}while(opcao != 0);	

}}

[/code]

[size=18] AGORA A OUTRA CLASE[/size]

[code]package MetodosVariaveisStatic;

import java.text.DecimalFormat;

public class Galinha {

private int ovosBotados; // ovos colocados por cada galinha
private double valorArrecadoGalinha; // valor em dinheiro do que a galinha rendeu;

private static double arrecadamentoGranja; // quanto a granja faturo em dinheiro, variavel pertencente a classe galinha e não ao objeto
private static int totalOvosGranja = 0;

public static final double PRECO_DO_OVO = 0.20;// constante global da classe, pode ser vista por todo o projeto 



public Galinha(){
	this(0,0,0);
}


//Construtor
public Galinha(int ovosBotados, float mediaOvosGalinha,double valorArrecadoGalinha) {
	this.ovosBotados = ovosBotados;
	this.valorArrecadoGalinha = valorArrecadoGalinha;
}


// getters e setters obejeto
public int getOvosBotados() {
	return ovosBotados;
}


public void setOvosBotados(int ovosBotados) {
	this.ovosBotados = ovosBotados;
}


public double getValorArrecadoGalinha() {
	return valorArrecadoGalinha;
}


public void setValorArrecadoGalinha(double valorArrecadoGalinha) {
	this.valorArrecadoGalinha = valorArrecadoGalinha;
}


//getters e setters da classe


public static double getArrecadamentoGranja() {
	return arrecadamentoGranja;
}


public static void setArrecadamentoGranja(double arrecadamentoGranja) {
	Galinha.arrecadamentoGranja = arrecadamentoGranja;
}


public static int getTotalOvosGranja() {
	return totalOvosGranja;
}


public static void setTotalOvosGranja(int totalOvosGranja) {
	Galinha.totalOvosGranja = totalOvosGranja;
}



// metodo auxiliar - segundario/indireto
private static final String FormatacaoValor(double valor){ // formatação de valor, não pode ser subscrito
	DecimalFormat df = new DecimalFormat();
	df.applyPattern("#0.00");

	return df.format(valor);
}

//métodos objeto

public void BotarOvos(){
	ovosBotados++; // acrecentando um ovo botado aoobjeto galinha
	totalOvosGranja++; //acrecentando o avo ao total de ovos da granja		
}

public String ArrecadementoGalinha(){ // retorna uma string com o valor arrecadado pela galinha
	
	valorArrecadoGalinha = ovosBotados*PRECO_DO_OVO;		
	return "R$ " + FormatacaoValor(valorArrecadoGalinha);
	
	
}


//métodos da classe

public static double MediaOvosgranja(){ //media de ovos que tem na granja
	return totalOvosGranja/2;
}

public static String ArrecadamentoGraja(){
	
	arrecadamentoGranja = totalOvosGranja*PRECO_DO_OVO;
	return "R$ " + FormatacaoValor(arrecadamentoGranja);
	
}[/code]

Se você dividir um int por outro, o resultado será int. Por isso o erro. Coloque um “d” depois do 2.

public static double MediaOvosgranja(){ //media de ovos que tem na granja return totalOvosGranja/2d; }

Ps: utilize a tag [code] para colocar seu código. Fica melhor para ler.

ErickRAR

Muito obrigado por me ajudar! sou novo no grupo intão não sabia disso
mais obrigado mesmo pela ajuda, me ajudou muito.

De boa. 8)

Outra possibilidade, além do d, é usar .0 após o número:

public static double MediaOvosgranja(){ //media de ovos que tem na granja return totalOvosGranja / 2.0; }