Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = n; i >=0; i--) {
if (i % 2 != 0) {
System.out.println(i);
}
}
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = n; i >=0; i--) {
if (i % 2 != 0) {
System.out.println(i);
}
}
Basta você criar uma variável, fora do for e fazer a soma, atribuindo o valor a tal variável.
Tem como mostrar em código?
soma : inteiro
inicio
soma <- 0
para i de 1 ate 10 faca
se i MOD 2 <> 0 entao
soma <- soma + i
fimse
fimpara
Eh… Tem como deixar do jeito normal, em português eu não entendo
Quer que faça e vá apresentar ao professor também?
A resposta está aí, se não sabe portugol, meu amigo, você realmente tem sérios problemas.
@darlan_machado concordo que a pessoa tem que se esforçar pra fazer, mas neste caso ele já fez o código e pra fazer o que ele quer, era só acrescentar 2 linhas, então não vejo problema em mostrar pra ele o código.
O jeito que eu fiz foi assim:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int result = 0;
for (int i = n; i > 0; i--) {
if (i % 2 != 0) {
result += i;
}
}
System.out.println(result);
sc.close();
}
}
E só a título de curiosidade, a partir do Java 8, um outro jeito de fazer seria assim:
import static java.util.stream.IntStream.rangeClosed;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
try (var sc = new Scanner(System.in)) {
int length = sc.nextInt();
int result = rangeClosed(1, length).filter(i -> i % 2 != 0).sum();
System.out.println(result);
}
}
}
Cara, eu não vou discutir.
Porém, enxergo alguns problemas ao “dar o peixe”:
Olha, tô irritado porque hoje de manhã eu fiz exatamente do jeito que “wldomiciano” fez (o 1°) e o resultado deu errado kkkk
Mas o código dele está certinho
E eu achei que não precisava explicar, eu já fiz essa questão por assim dizer, só esqueci como era mesmo
E tem como explicar esse rangeClosed?
Eu ainda não aprendi no curso, mas eu estou curioso xD, ele parece até o predicado de “Listas”
Ah, portugol?
Tem outro jeito de interpretar o código? :0
Concordo com o “Darlan”, mas eu já estava com dor de cabeça de tanto tentar, então eu só fiz o básico, fiquei com dúvida e perguntei para alguém e depois interpretar o que ela disse
Vc vai aprender mais pra frente quando chegar em Stream
.
Mas, basicamente, o rangeClosed
cria uma stream de int
, ou, em outras palavras, uma sequencia de números inteiros primitivos.
// Gera uma sequencia de números que vai de 0 até 10 (inclusive)
rangeClosed(0, 10)
// Filtra a sequencia pegando apenas os impares
.filter(i -> i % 2 != 0)
// Retorna a soma deles
.sum();
Se quiser ir já adiantando o assunto, tem esta playlist que achei bem legal que fala um pouco sobre essa parte da API do Java.
Que incrível :0
Agora vou usar o tempo todo isso vlw