Ir ao conteúdo
  • Cadastre-se

João Paulo Duarte

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

  1. @Joao verissimo Sou leigo em programação, mas os únicos erros que encontrei foram o fato de que a classe main não foi declarada como pública (classes/objetos/variáveis/métodos em java são private por padrão), em "int c = new int[6]", que deveria ser "int[] c..." e em "for (int i=0;i<c.length;i++){ if (c.length[i]==n){ achei= 1; posicao = i; }", onde você deveria estar comparando c[i] (o elemento número i do vetor c), e não c.lenght[i]. Todavia, eu teria feito o código de maneiras diferentes: 1) Retorna a primeira posição onde 10 foi encontrado. import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.printf(buscaDez()); } private static String buscaDez(){ int[] _vetor = new int[6]; Scanner _ler = new Scanner(System.in); for(int i=0; i<6;i++){ System.out.printf("Digite um número inteiro a ser adicionado na posição %d do vetor.", i); _vetor[i] = _ler.nextInt(); } for(int i=0; i<_vetor.length; i++){ if(_vetor[i]==10){ return "Valor encontrado na posição " + i; } } return "Valor não encontrado"; } } 2) Retorna todas as posições em que se encontrar o número 10: import java.util.Scanner; import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args) { System.out.printf(buscaDez()); } private static String buscaDez(){ int[] _vetor = new int[6]; Scanner _ler = new Scanner(System.in); for(int i=0; i<6;i++){ System.out.printf("Digite um número inteiro a ser adicionado na posição %d do vetor.", i); _vetor[i] = _ler.nextInt(); } List<Integer> _locais = new ArrayList<Integer>(); /** Containers não podem ser inicializados com tipos primitivos em java. * Portanto é necessária a inicialização com a utilização do objeto integer. */ for(int i=0; i<_vetor.length; i++){ if(_vetor[i]==10){ _locais.add(i); } } if(_locais.size() == 0) { return "O valor não foi encontrado no vetor."; } else { return "O valor foi encontrado nas posições:" + _locais; } } }
  2. @Gabriel de A.Campos Espero que os comentários que coloquei no código ajudem. public static void main(String args[]) { //cria o leitor de entrada Scanner entrada = new Scanner(System.in); //vetor X com 10 números inteiros int X[] = new int[10]; // vetor Y com 10 números inteiros int Y[] = new int[10]; //vetor União X e Y int U[] = new int[20]; //vetor dos elementos de X que não existem em Y int D[] = new int[10]; //vetor resultado de X[n] + Y[n] int S[] = new int[10]; //vetor resultado de X[n] * Y[n] int P[] = new int[10]; //vetor da intersecção de X e Y int IT[] = new int[10]; //variáveis auxiliares int i, j, k, cont_u, cont_d, cont_i; //pede que o usuário entre um valor inteiro para X e Y 10 vezes seguidas for (i=0;i<10;i++) { System.out.print("Digite o " + (i+1) + "o elemento do vetor X: "); //scanner nextInt() retorna o próximo valor inteiro na entrada (https://www.javatpoint.com/post/java-scanner-nextint-method) X[i] = entrada.nextInt(); System.out.print("Digite o " + (i+1) + "o elemento do vetor Y: "); Y[i] = entrada.nextInt(); } //zera os contadores cont_u = 0; cont_d = 0; cont_i = 0; //repete 10 vezes for (i=0;i<10;i++) //zera j { j = 0; /** enquanto o j for menor que o contador de u e o elemento i for diferente do elemento J, incrementa j * se j for maior ou igual ao contador de u, adiciona o elemento X[I] na ultima posição de U * Imagine que X = [1, 1, 2, 3, 5, 8, 13, 21, 21, 42] * na primeira passada não entra no laço while pois j == cont_u mas entra na condição, atribui X[0] à U[0] e incrementa cont_u * na segunda passada j < que cont_u (j=0, cont_u=1) mas X[1] == U[0] então ignora o laço. como j < cont_u, não entra na condição * na terceira a condição do laço é satisfeita (j=0, cont_u=1 && X[2]=2 e U[0]=1 então incrementa j uma vez para 1 e sai do laço * depois como j é igual a cont_u (j=1, cont_u=1) adiciona X[i] em U[cont_u] * e continua até não existirem mais elementos em X[] */ while (j < cont_u && X[i] != U[j]) { j++; } if (j >= cont_u) { U[cont_u] = X[i]; cont_u++; } } // Mesma coisa, mas com o conjunto Y for (i=0;i<10;i++) { j = 0; while (j < cont_u && Y[i] != U[j]) { j++; } if (j >= cont_u) { U[cont_u] = Y[i]; cont_u++; } } System.out.println("Vetor Uniao "); for (i=0;i<cont_u;i++) { System.out.println(U[i]); } /** * Bastante parecido com o laço para a criação do conjunto união, mas primeiro com a verificação se X[i] é igual a algum dos * elementos de Y. Caso X seja igual a algum elemento de Y, o J será menor que 10 e a condição para a inclusão do elemento de * X no vetor diferença nunca será cumprida. Caso não exista em Y um elemento igual a X[i], utiliza um laço semelhante ao * anterior para excluir os elementos repetidos. */ for (i=0;i<10;i++) { j = 0; while (j < 10 && X[i] != Y[j]) { j++; } if (j >= 10) { k = 0; while (k <= cont_d && X[i] != D[k]) { k++; } if (k >= cont_d) { D[cont_d] = X[i]; cont_d++; } } } System.out.println("Vetor Diferença "); for (i=0;i<cont_d;i++) { System.out.println(D[i]); } for (i=0;i<10;i++) { S[i] = X[i] + Y[i]; P[i] = X[i] * Y[i]; } System.out.println("Vetor Soma "); for (i=0;i<10;i++) { System.out.println(S[i]); } System.out.println("Vetor Produto "); for (i=0;i<10;i++) { System.out.println(P[i]); } for (i=0;i<10;i++) { j = 0; while (j < 10 && X[i] != Y[j]) { j++; } if (j < 10) { k = 0; while (k < cont_i && IT[k] != X[i]) { k++; } if (k >= cont_i) { IT[cont_i] = X[i]; cont_i++; } } } System.out.println("Vetor Interseção "); for (i=0;i<cont_i;i++) { System.out.println(IT[i]); } }
  3. Não sei JS, mas me parece que você está chamando o método toUpperCase() na função, e não em uma variável do tipo string. Acredito que onde tem transformaParaMaiusculo (dentro da função) para palavras e palavras[i] (ou seja lá como se acesse um elemento de um vetor em JS) respectivamente. Você também não colocou nenhum retorno nesta função, e a questão pede que a função retorne um array. O código do AdrianoSiqueira deve servir de guia para você construir algo semelhante em JS.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...