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 necessarisimportar 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.