Preciso verificar se os números digitados está na matriz de dados predefinidos
5 respostas
java
E
El_Nino
Prezados,
Estou tentando escrever um Alg. que verifique se os números digitados está dentro do conjunto de números predefinidos, e então informar: Quais dos números digitados estão no Conjunto e os números que estão no conjunto e não foram digitados.
Exemplo:
Conjunto de números predefinidos ( 0,1,2,3,4,5,6,7,8,9,10).
Usuário digita ( 2, 3, 4, 5, 8)
Necessário: Mostrar se os números digitados estão dentro do conjunto de números predefinidos e quais são os números que estão no conjunto e não foram digitados.
Até o momento escrevi o seguinte código:
import java.util.Scanner;
public class testeT {
publicstaticvoidmain(String[]args){intnumerosDoConjunto[]={11,9,3,4,10,};ScannernumeroDigitado=newScanner(System.in);intsort;System.out.println("Digite um numero:");sort=numeroDigitado.nextInt();for(inti=0;i<numerosDoConjunto.length;i++){if((sort==numerosDoConjunto.length)){System.out.printf("Numero digitado esta no Conjunto");}else{System.out.println("Numero digitado não esta no Conjunto");System.out.printf("O numero digitado foi:"+sort);}}}}
Não está completo, mas essa parte só informa o ultimo número do vetor. Exemplo: Caso eu digite o valor 3 ele informa que não está no conjunto. Já se eu informar o valor 10 ele informa que está no conjunto.
Você está comparando se o número digitado é igual ao tamanho do conjunto, não faz sentido…
importjava.util.Scanner;publicclasstesteT{publicstaticvoidmain(String[]args){intnumerosDoConjunto[]={11,9,3,4,10,};Scannerscanner=newScanner(System.in);System.out.println("Digite um numero:");intnumeroDigitado=Integer.parseInt(scanner.nextLine());for(intposicao=0;posicao<numerosDoConjunto.length;posicao++){if(numeroDigitado==numerosDoConjunto[posicao]){System.out.println("Numero "+numeroDigitado+" esta no Conjunto");}else{System.out.println("Numero "+numeroDigitado+" não esta no Conjunto");}}}}
E
El_Nino
Olá, obrigado pela contribuição.
Utilizando o código proposto digitando o numero 10 tenho como resultado na saída:
Digite um numero:
10
Numero 10 não esta no Conjunto
Numero 10 não esta no Conjunto
Numero 10 não esta no Conjunto
Numero 10 não esta no Conjunto
Numero 10 esta no Conjunto
Como poderia incrementar esse código para que:
A - No resultado fosse apresentado os números que estão em numerosDoConjunto e não foram digitados.
B - Permitir a entrada de mais de um numero de uma só vez pelo usuário. Exemplo;
10, 9, 6
Mais uma vez, obrigado pela contribuição.
J
JoelSpinelli
Olá,
Talvez não é o que você está precisando, principalmente se for um problema acadêmico, mas acredito que é bom deixar registrado.
Primeiro separei a classe em duas, uma classe para o dicionario:
Logo depois eu criei a main que irá implementar, baseando no que você estava tentando fazer:
importjava.util.*;importjava.util.List;publicclassForum{publicstaticvoidmain(String[]args){Dicionariodc=newDicionario();ScannernumeroDigitado=newScanner(System.in);intsort;System.out.println("Digite um numero:");sort=numeroDigitado.nextInt();if(dc.procura(sort)){System.out.printf("Numero digitado esta no Conjunto");}else{System.out.println("Numero digitado não esta no Conjunto");System.out.printf("O numero digitado foi:"+sort);}}}
Caso tenha algo que possa melhorar o código a crítica é bem-vinda.
J
JoelSpinelli
Talvez mais voltado para o que você precisa é esse abaixo:
importjava.util.*;publicclassForum2{publicstaticvoidmain(String[]args){intnumerosDoConjunto[]={11,9,3,4,10};booleanencontrato=false;ScannernumeroDigitado=newScanner(System.in);intsort;System.out.println("Digite um numero:");sort=numeroDigitado.nextInt();for(inti=0;i<numerosDoConjunto.length;i++){if(numerosDoConjunto[i]==sort){encontrato=true;break;}}if(encontrato){System.out.printf("Numero digitado esta no Conjunto");}else{System.out.println("Numero digitado não esta no Conjunto");System.out.printf("O numero digitado foi:"+sort);}}}
Creio que esse fica um pouco mais próximo de um trabalho acadêmico (se esse for o caso).
E
El_Nino
> Obrigado, o conteúdo postado foi bem valido.
Consegui incrementar bastante o código e estou evoluindo até o ponto final da situação.
Obs: Não se trata de nenhum trabalho acadêmico, estou apenas estudando, descobrindo e aprimorando conhecimentos sobre a linguagem JAVA.