1
resposta

Duvida em lógica de criação do código Java

1.Faça um programa em Java par criar um vetor de 50 posições de números inteiros randômicos. Crie um método para gerar os valores randômico do vetor. Crie um método para imprimir o vetor criado Crie um método para ordenar na ordem crescente os valores do vetor Crie um método para ordenar na ordem decrescente os valores do vetor Crie um método para exibir todos os números primos armazenados no vetor. Crie um método para localizar um valor no vetor. Crie um método para contar quantos números pares estão armazenados no vetor.

As ultimas três eu não consegui fazer está dando erro em algo,e eu não lembro como se faz pra localizar um vetor quem poder me ajudar eu ficarei muito grato,segue meu código para correção package Exercício25;

import java.util.Scanner;

public class Aluno {

public static void main(String[] args) {

int v[] = new int[50];

for (int i = 0; i < v.length; i++) { v[i] = (int) (Math.random() * 100); }

imprimirVetor(v);

imprimirVetor(ordenarVetor(v));

imprimirVetor(ordenarVetorDecresente(v));

primos(v);

}

public static void imprimirVetor(int[] v) {

System.out.println(); for (int i = 0; i < v.length; i++) { System.out.print(" " + v[i]);

}

}

public static int[] ordenarVetor(int[] v) { // metodo para ordenando na ordem crescente o conteudo do vetor/ array int aux; for (int i = 0; i < v.length - 1; i++) { for (int j = i + 1; j < v.length; j++) { if (v[i] > v[j]) { aux = v[i]; v[i] = v[j]; v[j] = aux; } }

} return v; }

public static int[] ordenarVetorDecresente(int[] v) { // metodo para ordenando na ordem decrescente o conteudo do vetor/ array int aux; for (int i = 0; i < v.length - 1; i++) { for (int j = i + 1; j < v.length; j++) { if (v[i] < v[j]) { aux = v[i]; v[i] = v[j]; v[j] = aux; } } } return v; }

public static void primos(int[]v) { int cont=0; for(int i =1;i<=v[i];i++) { if(v[i]%i==0) { cont++; } public static void pares(int[]v) { int cont=0; if(v[i]%2==1) { cont++; }

} } }

}

1 resposta

Esses 3 últimos são similares. Você pode varrer o vetor como faz pra imprimir, só que ao invés de fazer um System.out.println, você testa o valor da posição atual do vetor. No localizar, você compara com o número que tá buscando. Se for ele, retorna a posição dele, por exemplo. Se chegar ao fim do for é porque não achou. Retorna algo que indique isso. No de pares e primos, testa pra ver se o número é par ou primo. Se for par, o mod dele (%) por dois é zero. Se for primo, só é divisível por 1 e por ele mesmo. Ou seja, outro for entre 2 e o número-1... se o mod não resultar em zero, não é primo. Não sei se ficou claro. Se rolar dúvida ainda é só perguntar. Espero ter ajudado.