Laço de repetiçao while

Ola, Boa noite!

gente eu preciso encaixar um laço nesse codigo!

o objetivo do programa e fazer um fatorial e depois utilize no calculo de uma combinação matematica!

[quote][code]import java.util.Scanner;
public class EX___2 {
public static void main(String[]args){
Scanner cm = new Scanner(System.in) ;

System.out.println(" Digite um número para o conjunto n:" );
double n1 = cm.nextDouble();
System.out.println(" Digite um número para o subconjunto s:" );
double n2 = cm.nextDouble();

double a = fatores( n1 - n2);
double x = fatores(n1);
double y = fatores( n2);

double c = x/ (y *a);
System.out.println(" A combinação matemática é: " +c);
}

public static double fatores(double n1) {
double res = 1 ;
for ( double ft = 1; ft <= n1 ; ft++ ) {
res = res*ft;

}
return res;

}

}[/quote][/code]

Eu estou precisando de uns 2 mil reais…

Qual a dúvida?

while ( true ) { // Código aqui }

[quote=Marcelo de Andrade]Eu estou precisando de uns 2 mil reais…

Qual a dúvida?

while ( true ) { // Código aqui }[/quote]

Voce ta precisando de uns 2 mil? posso te arrumar a prestação?
kkkk…

bom a duvida e onde eu posso encaixar o while dentro do codigo,
eu to colocando ele na linha 10, mas o break nao ta funcionando e ta dando erro na linha dele,
o probema nao ta nas chaves!
to começando programar agora, tem bastante coisa que eu nao fasso ideia!!!

Explica melhor, para que e por que quer colocar um loop while e o que o seu programa ja faz e aonde nao esta dando certo etc etc etc…

hahaha…
isso que voce pediu é fácil:

[code]
import java.util.Scanner;
public class EX___2 {
public static void main(String[]args){
Scanner cm = new Scanner(System.in) ;

System.out.println(" Digite um número para o conjunto n:" );
double n1 = cm.nextDouble();
System.out.println(" Digite um número para o subconjunto s:" );
double n2 = cm.nextDouble();
while( true ) { break; } // Pronto, agora tem um while na linha 10 com um break que funciona =D
double a = fatores( n1 - n2);
double x = fatores(n1);
double y = fatores( n2);

double c = x/ (y *a);
System.out.println(" A combinação matemática é: " +c);
}

public static double fatores(double n1) {
double res = 1 ;
for ( double ft = 1; ft <= n1 ; ft++ ) {
res = res*ft;

}  
return res;  

}

}[/code]

Desculpa, nós não resistimos à brincadeira…rs

É que não estamos entendendo sua pergunta…
Posta o código que está dando erro (o código já com o while que você tentou fazer) pra gente ter um idéia do que esta dando errado e do que você está querendo fazer.

Abraço.

[quote=Eric SantAnna]hahaha…
isso que voce pediu é fácil:

[code]
import java.util.Scanner;
public class EX___2 {
public static void main(String[]args){
Scanner cm = new Scanner(System.in) ;

System.out.println(" Digite um número para o conjunto n:" );
double n1 = cm.nextDouble();
System.out.println(" Digite um número para o subconjunto s:" );
double n2 = cm.nextDouble();
while( true ) { break; } // Pronto, agora tem um while na linha 10 com um break que funciona =D
double a = fatores( n1 - n2);
double x = fatores(n1);
double y = fatores( n2);

double c = x/ (y *a);
System.out.println(" A combinação matemática é: " +c);
}

public static double fatores(double n1) {
double res = 1 ;
for ( double ft = 1; ft <= n1 ; ft++ ) {
res = res*ft;

}  
return res;  

}

}[/code]

Desculpa, nós não resistimos à brincadeira…rs

É que não estamos entendendo sua pergunta…
Posta o código que está dando erro (o código já com o while que você tentou fazer) pra gente ter um idéia do que esta dando errado e do que você está querendo fazer.

Abraço.[/quote]

Otimo! sei que quando se é novo em alguma coisa e motivo de piada dos outros!!!
mas ta tudo bem, ja curti com quem nao sabia nada tambem
kkkkk

Agoa vamos falar de coisa seria!

a pergunta é:

Crie um programa que implemente a função fatorial e depois a utilize no cálculo de combinação matemática de n elementos de p em p:
combinação de n de s em s;

tem uma formula logo abaixo

o problema ta que eu tambem nao to entando a questao e pelo que eu entendi fiz assim!

e o codigo ta logo abaixo

[quote][code]import java.util.Scanner;
public class EX___2 {
public static void main(String[]args){
Scanner cm = new Scanner(System.in) ;

System.out.println(" Digite um número para o conjunto n:" );
double n1 = cm.nextDouble();
System.out.println(" Digite um número para o subconjunto s:" );
double n2 = cm.nextDouble();
}
double n1 = condição(n1<=0);
double n2 = condição(n2<=0);

public static double condição(double n1) {
do {
System.out.println(" Digite um numero válido. " );
double a1= cm.nextDouble();
}
while (n1 <= 0 || n2 <= 0);
System.out.pritln (" Digite um valor valido."); }

double a = fatores( n1 - n2);
double x = fatores(n1);
double y = fatores( n2);

double c = x/ (y *a);
System.out.println(" A combinação matemática é: " +c);
}

public static double fatores(double n1) {
double res = 1 ;
for ( double ft = 1; ft <= n1 ; ft++ ) {
res = res*ft;

}
return res;

}

}[quote][code]
o erro ta dando na linha:

System.out.println(" A combinação matemática é: " +c);

quem puder me responder sera aceito!

Nossa, que salada, deu erro em tudo aqui…rs
Tem que melhorar muita coisa ai hein…rs

[code]import java.util.Scanner;

public class EX___2 {
public static void main(String[]args){
Scanner cm = new Scanner(System.in) ;

System.out.println(&quot; Digite um número para o conjunto n:&quot; );
double n1 = cm.nextDouble();
System.out.println(&quot; Digite um número para o subconjunto s:&quot; );
double n2 = cm.nextDouble();

// } A chave que fecha o main estava aqui
double n1 = condição(n1<=0); // O metodo condição pede um double, esse n1<=0 não pode ser colocado aqui, isso não é um if!!(ver o que coloquei acima)
double n2 = condição(n2<=0); // O metodo condição pede um double, esse n2<=0 não pode ser colocado aqui, isso não é um if!!(ver o que coloquei acima)
// Pro problema acima faça assim:
// double n1;
// double n2;
// if(n1<=0) {
// n1 = condição(n1) // Não faço idéia do que você você quer fazer aqui, sou horrível em matemática…rs
// }
// if(n2<=0) {
// n2 = condição(n2)
// }

} // A nova chave que fecha o main

public static double condição(double n1) {
do {
System.out.println(" Digite um numero válido. " );
double a1= cm.nextDouble();
}
while (n1 <= 0 || n2 <= 0);
System.out.pritln (" Digite um valor valido.";
// } Essa chave esta sobrando

double a = fatores( n1 - n2); // n2 está fora do metodo condição(double), ou passe ele por parâmetro: 
                              // (public void double condição(double n1, double n2))
							  // ou deixe n2 como ATRIBUTO da classe, ou seja, declare fora do método (antes do main)
double x = fatores(n1);
double y = fatores( n2);

double c = x/ (y *a);
System.out.println(&quot; A combinação matemática é: &quot; +c);

}

public static double fatores(double n1) {
double res = 1 ;
for ( double ft = 1; ft <= n1 ; ft++ ) {
res = res*ft;

}
return res;
}

}[/code]

Tenta endentar mais seu código pra você não se perder nas chaves, dá um bizu no código de quem já programa e vê como se formata direitinho.

Boa sorte!

como nossos amigos disse ta dificil enterder o que realmente precisa :smiley:
tente explicar melhor

Tenta fazer recursivamente ( matematicamente ):

public long fat(long n){ if(n == 0){return 1;}else{return n * fat(n-1);} }

Bruna, seu método fatores() assim:

public static double fatores(double n){ double aux = n-1; while(aux > 0){ n *= aux; aux--; } return n; }

Você usa seu while e fica feliz… Tem certeza que você quer usar double? Não vejo necessidade.

Bye!