Estou com dúvida de como fazer esses programas, tentei mas deu errado
6 respostas
D
donkbr
Escreva um programa que receba do usuário um valor e então calcule e exiba a soma de todos
os números ímpares entre 0 e aquele valor.
Escreva um programa que exiba um menu ao usuário contendo quatro opções:
Fatorial
Soma dos antecessores
Sair
Em seguida, após receber uma das opções acima, o programa calcula o que for pedido,
recebendo os números necessários do usuário para executar o cálculo. O programa deve exibir
novamente o menu após o resultado até que a opção 3 seja escolhida.
Estas são dicas de solução, dentre outras disponíveis.
M
mate
Posta ai o que fez e podemos lhe ajudar indicando o caminho, mas ngm aqui irá fazer sua lição de casa!
C
cmduarte
Pessoal entra na área e acha que pegar o canudo é o que conta…
Tenta fazer @donkbr e vai nos dizendo suas dificuldades…
Não adianta pedir o exercício inteiro pronto.
D
donkbr
Desculpe amigão, não entrei aqui pra pegar nada de resposta fácil não, eu estava sem tempo de responder aqui no site.
Porem consegui fazer as questões.
Segue abaixo o que fiz. ‘-’ Não julguem sem antes saber. vlw
ackageaula.pkg5;importjava.util.Scanner;publicclassAula5{publicstaticvoidmain(String[]args){Scannerteclado=newScanner(<ahref="http://System.in">System.in</a>);System.out.println(“Digiteumvalor”);intx;intvalor=teclado.nextInt();inttotal=0;for(x=1;x<=valor;x++){if((x%2!=0));total=total+x;}System.out.println("A soma dos ímpares é: "+total);}
}
package javaapplication62;
import java.util.Scanner;
public class JavaApplication62 {
publicstaticvoidmain(String[]args){inta,num;inti;Scannerleitor=newScanner(System.in);do{do{intfat=1,cont=1,total=0;System.out.println("\tMenu de operações");System.out.println("Fatorial ~> [1]");System.out.println("Soma dos antecessores ~> [2]");System.out.println("Sair ~> [3]");a=leitor.nextInt();System.out.println("\n\n");switch(a){case1:do{System.out.println("Digite o valor que deseja verficar o \'fatorial\': ");num=leitor.nextInt();for(i=1;i<=num;i++){fat=fat*i;cont++;}System.out.println("O fatorial de !"+num+" é: "+fat);}while(cont<2);do{System.out.println("Voltar ~> [1]");a=leitor.nextInt();if(a!=1){System.out.println("Opção Inválida.\n\n");}}while(a!=1);break;case2:System.out.println("Digite um valor que deseja realizar a operação:");num=leitor.nextInt();cont=num;while(cont>0){total=total+cont;cont--;}System.out.println("A soma dos antecessores de "+num+" é: "+total);do{System.out.println("Voltar ~> [1]");a=leitor.nextInt();if(a!=1){System.out.println("Opção Inválida.\n\n");}}while(a!=1);case3:if(a<1||a>3){System.out.println("Opção Inválida.\n\n");}break;}}while(a==1);}while(a!=3);System.out.println("Finalizado.");}}}
}
A
anon62916717
Tente utilizar métodos com retorno, as vezes sem retorno(void), pois o código fica mais fácil de ser lido em partes, provendo um reaproveitamento da codificação.
Ex.:
publicclassMain{publicstaticvoidmain(String[]args){intfator=7,soma=-fator;System.out.println(fator+"! (fatorial) = "+fatorial(fator)+"\nSoma dos impares = "+somaDosImpares(soma));//reaproveitandoSystem.out.println("\nREAPROVEITADO: "+0+"! (fatorial) = "+fatorial(0)+"\nSoma dos impares = "+somaDosImpares(0));}privatestaticlongfatorial(intnumero){if(numero<0){thrownewIllegalArgumentException("Numero não natural -> "+numero);}longproduto=1;for(intfator=2;fator<numero;fator++){produto*=fator;}returnproduto;}privatestaticintsomaDosImpares(intnumero){booleanmenos=numero<0;if(numero%2==0&&numero!=0){numero=menos?++numero:--numero;}intsoma=(numero=Math.abs(numero));while((numero=numero-2)>0){soma+=numero;}returnmenos?-soma:soma;}