O código-fonte de um projeto em Java que obtém o
fatorial de 5 pode ser representado por:
a) import javax.suing.*;
public class Fatorial {
public static void main(String[] args) {
int i,n=5,f=1;
for(i=1;i<=n;i+){ f=f*i; }
JOptionPane.showMessageDialog(null,""+f); }}
b) import javax.swing.*;
public class Fatorial {
public static void main(String[] args) {
int i,n=1,f=5;
for(i=1;i<=n;i++){ f=f*i; }
JOptionPane.showMessageDialog(null,""+f); }}
c) inport javax.swing.*;
public class Fatorial {
public static void main(String[5] args) {
int i,n=5,f=1;
for(i=1;i<=n;i++){ f=f*i; }
JOptionPane.showMessageDialog(null,""+f);}}
d) import javax.swing.*;
public class Fatorial {
public static void main(String[] args) {
int i,n=5,f=1;
for(i=1;i<=n;i++){ f=f*i; }
JOptionPane.showMessageDialog(null,""+f);}}
e) import javax.swing.*;
public static void main(String[] args) {
public class Fatorial
int i,n=5,f=1;
for( 1; n;){ f=f*i; }
JOptionPane.showMessageDialog(null,""+f);}}
Soluções para a tarefa
Letra D, se formos analisar cada alternativa tem um erro pequeno, mas que exige bastante atenção para podemos identificar.
Vamos começar com a alternativa "a", se olharmos o for sua construção está correta, entretanto no ultimo parâmetro, onde deveria ocorrer o incremento está a errada a sintaxe do código, para incrementar algo devemos fazer o seguinte: "variavel++", por isso a primeira estava errada.
Na alternativa "b", ocorre um erro na atribuição de valores das variáveis, se olharmos o "n" o qual deveria significar o valor máximo que meu i pode variar, está com o valor "1", assim nunca ocorrerá o incremento uma vez que tanto n como i são, acabando com a operação do fatorial.
A letra "c" é bem parecida com a d, entretanto a declaração da string está errada, pois elá deveria ser vazia, e está com o valor 5.
Por fim a letra "e", contem o erro mais absurdo pois na construção do for, não são passados três parâmetros corretamente.
Espero ter Ajudado!
Resposta:
d) import javax.swing.*;
public class Fatorial {
public static void main(String[] args) {
int i,n=5,f=1;
for(i=1;i<=n;i++){ f=f*i; }
JOptionPane.showMessageDialog(null,""+f);}}
Explicação: