Comprovar si una matriu Java conté un valor

Comprovar Si Una Matriu Java Conte Un Valor



Una matriu Java s'utilitza per emmagatzemar diversos valors numèrics o valors de cadena en una variable. Existeixen moltes opcions a Java per cercar un valor particular en una matriu. L'ús del bucle 'for' és la manera més senzilla de cercar un valor numèric o de cadena a la matriu Java. Tanmateix, existeixen moltes funcions integrades a Java per cercar un valor particular en una matriu. En aquest tutorial es mostren els mètodes per comprovar si un valor determinat existeix en una matriu Java o no utilitzant un bucle i les funcions integrades de Java.

Exemple 1: Ús d'un bucle 'For'.

Creeu un fitxer Java amb el codi següent que prengui una entrada de l'usuari i comproveu si el valor d'entrada existeix a la matriu o no utilitzant el bucle 'for'. Al codi es defineix una matriu de valors de cadena. Es pren un valor de cadena de l'usuari mitjançant la classe 'Scanner'. A continuació, es compara amb cada valor de la matriu. Si es troba alguna coincidència, s'atura la iteració del bucle i s'imprimeix un missatge d'èxit.







// Importeu el mòdul d'escàner
importar java.util.Scanner;
classe pública CheckArrayValue1 {
principal buit estàtic públic ( Corda [ ] args ) {

// Declarar una matriu de valors de cadena
Corda [ ] strArray = { 'Java' , 'C++' , 'C#' , 'VB.NET' , 'J#' } ;

// Declarar un objecte d'escàner
@ Suprimeix els avisos ( 'recurs' )
Scanner lang = escàner nou ( System.in ) ;
System.out.println ( 'Introduïu un nom de llenguatge de programació:' ) ;

// Prendre les aportacions de l'usuari
Nom de cadena = lang.nextLine ( ) ;

// Estableix la variable a fals
Booleà trobat = fals ;

// Itera el bucle per comprovar cada valor del bucle
per ( int i = 0 ; i < strArray.length; i++ ) {
// Compareu cada valor de la matriu amb el valor d'entrada
si ( nom.igual ( strArray [ i ] ) )
{
// Imprimeix el missatge d'èxit
System.out.println ( 'El '' + nom + '' existeix a la matriu.' ) ;
// Estableix la variable a veritat
trobat = veritat ;
trencar ;
}
}

// Comproveu la variable per imprimir el missatge d'error
si ( ! trobat )
System.out.println ( 'El '' + nom + '' no existeix a la matriu.' ) ;
}
}


Sortida:



La sortida següent s'imprimeix si es pren Java com a valor d'entrada que existeix als valors de la matriu:




La sortida següent s'imprimeix si es pren Perl com a valor d'entrada que no existeix als valors de la matriu:





Exemple 2: Ús del mètode Contains().

Creeu un fitxer Java amb el codi següent que prengui una entrada de l'usuari i comproveu si el valor d'entrada existeix a la matriu o no utilitzant el mètode contains(). Aquest mètode retorna true si el valor d'entrada existeix a la matriu. En cas contrari, aquest mètode retorna false.



// Importa els mòduls necessaris
importar java.util.Scanner;
importar java.util.Arrays;
classe pública CheckArrayValue2 {
principal buit estàtic públic ( Corda [ ] args ) {

// Declarar una matriu de valors de cadena
Corda [ ] strArray = { 'Java' , 'C++' , 'C#' , 'VB.NET' , 'J#' } ;

// Declarar un objecte d'escàner
@ Suprimeix els avisos ( 'recurs' )

Entrada de l'escàner = escàner nou ( System.in ) ;
System.out.println ( 'Introduïu un nom de llenguatge de programació:' ) ;

// Prendre les aportacions de l'usuari
Nom de cadena = input.nextLine ( ) ;

// Comproveu si el valor existeix en la matriu o no utilitzant conté ( ) mètode
booleà trobat = Arrays.asList ( strArray ) .conté ( nom ) ;

// Estableix el valor inicial en la variable de sortida
Sortida de cadena = 'El' + nom;
// Establiu el missatge a la variable de sortida en funció de la variable trobada
sortida += trobat? 'existeix a la matriu'. : 'no existeix a la matriu.' ;
// Imprimeix la sortida
System.out.println ( sortida ) ;
}
}


Sortida:

La sortida següent s'imprimeix si es pren PHP com a valor d'entrada que no existeix als valors de la matriu:


La sortida següent s'imprimeix si es pren C++ com a valor d'entrada que existeix als valors de la matriu:

Exemple 3: Ús del mètode AnyMatch().

Creeu un fitxer Java amb el codi següent que prengui una entrada de l'usuari i comproveu si el valor d'entrada existeix a la matriu o no utilitzant el mètode anyMatch() de la classe 'Stream'. Aquest mètode retorna true si el valor d'entrada existeix a la matriu. En cas contrari, aquest mètode retorna false.

// Importa els mòduls necessaris
importar java.util.Scanner;
importar java.util.stream.IntStream;
classe pública CheckArrayValue3
{
principal buit estàtic públic ( Corda [ ] args )
{

// Declarar una matriu de nombres
int [ ] numArray = { 89 , 45 , 72 , 67 , 12 , 43 } ;

// Declarar un objecte d'escàner
@ Suprimeix els avisos ( 'recurs' )

Entrada de l'escàner = escàner nou ( System.in ) ;
System.out.println ( 'Introduïu un número per cercar:' ) ;

// Prendre les aportacions de l'usuari
int num = entrada.nextInt ( ) ;

// Comproveu si el valor existeix en la matriu o no utilitzant anyMatch ( ) mètode
booleà trobat = IntStream.of ( numArray ) .qualsevolMatch ( x - > x == no ) ;

// Estableix el valor inicial en la variable de sortida
Sortida de cadena = 'El' + num;
// Establiu el missatge a la variable de sortida en funció de la variable trobada
sortida += trobat? 'existeix a la matriu'. : 'no existeix a la matriu.' ;
// Imprimeix la sortida
System.out.println ( sortida ) ;
}
}


Sortida:

La sortida següent s'imprimeix si es pren 45 com a valor d'entrada que existeix als valors de la matriu:


La sortida següent s'imprimeix si es pren 100 com a valor d'entrada que no existeix als valors de la matriu:

Conclusió

En aquest tutorial es mostren tres maneres diferents de comprovar si la matriu conté un valor determinat o no amb diversos exemples.