Converter 2 Int para Double e efetuar Cálculo

Boa tarde, gostaria de uma ajuda…

Preciso converter duas variaveis inteiras para double, porém o calculo não está dando certo…
Segue abaixo o treco do código

public static List<Atributos> aFracaoAmostral(List<Atributos> lista,int n){ Atributos auxA = new Atributos(); for (int i=0; i<lista.size();i++){ auxA = lista.get(i); auxA.setnFracaoAmostral(auxA.getnConformes() / n); lista.add(i, auxA); } return lista; }

Ja tentei de diversas maneiras e nenhuma deu certo… separei em duas variavéis A e B, multipliquei o valor por * 1.0 e nada adiantou…
Por favor alguem pode dar uma solução… Obrigado

Só para CONSTAR SEGUE OS ATRIBUTOS DAS DUAS CLASSES;

[code]public class Atributos {

private int namostra, nconformes;
private double fracaoamostral;
private boolean exclusao;

public Atributos() {
}

public Atributos(int namostra, int nconformes, double fracaoamostral, boolean exclusao) {
    this.namostra = namostra;
    this.nconformes = nconformes;
    this.fracaoamostral = fracaoamostral;
    this.exclusao = exclusao;
}

[/code]

[code]public class AmostraA {

private List<Atributos> listaAtributos;
private DataModel dataModelAtributos;
private int nObservacoes;

public AmostraA() {
    listaAtributos = new ArrayList<Atributos>();
}

public AmostraA(List<Atributos> listaAtributos, DataModel dataModelAtributos, int nObservacoes) {
    this.listaAtributos = listaAtributos;
    this.dataModelAtributos = dataModelAtributos;
    this.nObservacoes = nObservacoes;
}[/code]
int a = 10;
int b = 20;
double c = (a + b)d;

Não funciona?
E

int a = 10;
int b = 20;
double c = new Double(a + b).doubleValue();

Também não?

Axo que o problema é que nessa linha

auxA.setnFracaoAmostral(auxA.getnConformes() / n);

Você está fazendo um divisão de inteiros. Tente como o colega citou, convertendo

auxA.setnFracaoAmostral((double)auxA.getnConformes() / n);

flw’s

Em Pascal (Delphi) a divisão que retorna um Real (double) é / e a divisão que retorna um Integer (int) é div.
Em Basic (VB) a divisão que retorna um Double é / e a divisão que retorna um Integer é .
Em C, C++ e Java a divisão é sempre /, o que dá muita confusão para os novatos.

você precisa saber como fazer um Casting aí. Vou te dar um exemplo para que da próxima vez você esteja preparado.

Alguns valores são incompatíveis se você tentar fazer uma atribuição direta. Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona porque é um código que diz: ?i deve valer d?, mas não se sabe se d realmente é um número inteiro ou não.

double d = 3.1415; int i = d; // não compila
O mesmo ocorre no seguinte trecho:

int i = 3.14;

O mais interessante, é que nem mesmo o seguinte código compila:

double d = 5; // ok, o double pode conter um número inteiro int i = d; // não compila

Apesar de 5 ser um bom valor para um int, o compilador não tem como saber que valor estará dentro desse double no momento da execução. Esse valor pode ter sido digitado pelo usuário, e ninguém vai garantir que essa conversão ocorra sem perda de valores.
Já no caso a seguir, é o contrário:

int i = 5; double d2 = i;

O código acima compila sem problemas, já que um double pode guardar um número com ou sem ponto flutuante. Todos os inteiros representados por uma variável do tipo int podem ser guardados em uma variável double, então não existem problemas no código acima.
Às vezes, precisamos que um número quebrado seja arredondado e armazenado num número inteiro. Para fazer isso sem que haja o erro de compilação, é preciso ordenar que o número quebrado seja moldado (casted) como um número inteiro. Esse processo recebe o nome de casting. Abaixo segue vários exemplos comuns:

double d3 = 3.14; int i = (int) d3;

long x = 10000; int i = (int) x;

float x = 0.0f;

A letra f, que pode ser maiuscula ou minúscula, indica que aquele literal deve ser tratado como float. Outro caso, que é mais comum:

double d = 5; float f = 3; float x = f + (float) d;

Você precisa do casting porque o Java faz as contas e vai armazenando sempre no maior tipo que apareceu durante as operações, no caso o double. E, uma observação: no mínimo, o Java armazena o resultado em um int, na hora de fazer as contas.
Até casting com variáveis do tipo char podem ocorrer. O único tipo primitivo que não pode ser atribuído a nenhum outro tipo é o boolean.