Tarkistaminen, sisältääkö Java-taulukko arvon

Tarkistaminen Sisaltaako Java Taulukko Arvon



Java-taulukkoa käytetään useiden numeeristen arvojen tai merkkijonoarvojen tallentamiseen muuttujaan. Javassa on monia vaihtoehtoja tietyn arvon etsimiseksi taulukosta. For-silmukan käyttäminen on yksinkertaisin tapa etsiä numeerista tai merkkijonoarvoa Java-taulukosta. Javassa on kuitenkin monia sisäänrakennettuja toimintoja, jotka etsivät tiettyä arvoa taulukosta. Tässä opetusohjelmassa esitetään menetelmät, joilla tarkistetaan, onko tietty arvo Java-taulukossa vai ei, käyttämällä silmukkaa ja Java-sisäänrakennettuja toimintoja.

Esimerkki 1: For-silmukan käyttäminen

Luo Java-tiedosto seuraavalla koodilla, joka ottaa syötteen käyttäjältä, ja tarkista, onko syötearvo taulukossa vai ei käyttämällä 'for'-silmukkaa. Koodissa on määritetty joukko merkkijonoarvoja. Merkkijonoarvo otetaan käyttäjältä 'Skanneri'-luokan avulla. Sitten tätä verrataan jokaiseen taulukon arvoon. Jos jokin vastaavuus löytyy, silmukan iteraatio lopetetaan ja onnistumisviesti tulostetaan.







// Tuo skannerimoduuli
tuonti java.util.Scanner;
julkinen luokka CheckArrayValue1 {
julkinen static void main ( merkkijono [ ] args ) {

// Ilmoita joukko merkkijonoarvoja
merkkijono [ ] strArray = { 'Java' , 'C++' , 'C#' , 'VB.NET' , 'J#' } ;

// Määritä skanneriobjekti
@ Suppress Warnings ( 'resurssi' )
Skanneri lang = uusi skanneri ( System.in ) ;
System.out.println ( 'Anna ohjelmointikielen nimi:' ) ;

// Ota palaute käyttäjältä
Merkkijonon nimi = lang.nextLine ( ) ;

// Aseta muuttuja arvoon väärä
Boolen arvo löytyi = väärä ;

// Toista silmukkaa tarkistaaksesi jokaisen silmukan arvon
varten ( int i = 0 ; i < strArray.length; i++ ) {
// Vertaa taulukon jokaista arvoa syötettyyn arvoon
jos ( nimi.yhtä ( strArray [ i ] ) )
{
// Tulosta menestysviesti
System.out.println ( ''' + nimi + '' on taulukossa.' ) ;
// Aseta muuttuja arvoon totta
löytyi = totta ;
tauko ;
}
}

// Tarkista muuttuja virheviestin tulostamiseksi
jos ( ! löytyi )
System.out.println ( ''' + nimi + '' ei ole taulukossa.' ) ;
}
}


Lähtö:



Seuraava tulos tulostetaan, jos Java otetaan syötearvoksi, joka on olemassa taulukon arvoissa:




Seuraava tulos tulostetaan, jos Perl otetaan syötearvoksi, jota ei ole taulukon arvoissa:





Esimerkki 2: Contains()-menetelmän käyttäminen

Luo Java-tiedosto seuraavalla koodilla, joka ottaa syötteen käyttäjältä, ja tarkista, onko syötearvo taulukossa vai ei käyttämällä include()-metodia. Tämä menetelmä palauttaa tosi, jos syötearvo on taulukossa. Muussa tapauksessa tämä menetelmä palauttaa false.



// Tuo tarvittavat moduulit
tuonti java.util.Scanner;
tuonti java.util.Arrays;
julkinen luokka CheckArrayValue2 {
julkinen static void main ( merkkijono [ ] args ) {

// Ilmoita joukko merkkijonoarvoja
merkkijono [ ] strArray = { 'Java' , 'C++' , 'C#' , 'VB.NET' , 'J#' } ;

// Määritä skanneriobjekti
@ Suppress Warnings ( 'resurssi' )

Skannerin syöttö = uusi skanneri ( System.in ) ;
System.out.println ( 'Anna ohjelmointikielen nimi:' ) ;

// Ota palaute käyttäjältä
Merkkijonon nimi = input.nextLine ( ) ;

// Tarkista onko arvo olemassa sisään taulukko tai ei käyttämällä sisältää ( ) menetelmä
boolean found = Arrays.asList ( strArray ) .sisältää ( nimi ) ;

// Aseta alkuarvo sisään lähtömuuttuja
Merkkijonon lähtö = 'The' + nimi;
// Aseta viesti tulosmuuttujaan löydetyn muuttujan perusteella
lähtö += löytyi? ' on olemassa taulukossa.' : 'ei ole taulukossa.' ;
// Tulosta tulos
System.out.println ( ulostulo ) ;
}
}


Lähtö:

Seuraava tulos tulostetaan, jos PHP otetaan syötearvoksi, jota ei ole taulukon arvoissa:


Seuraava tulos tulostetaan, jos C++ otetaan syötearvoksi, joka on olemassa taulukon arvoissa:

Esimerkki 3: AnyMatch()-menetelmän käyttäminen

Luo Java-tiedosto seuraavalla koodilla, joka ottaa syötteen käyttäjältä ja tarkista onko syötearvo taulukossa vai ei käyttämällä “Stream”-luokan anyMatch()-metodia. Tämä menetelmä palauttaa tosi, jos syötearvo on taulukossa. Muussa tapauksessa tämä menetelmä palauttaa false.

// Tuo tarvittavat moduulit
tuonti java.util.Scanner;
tuonti java.util.stream.IntStream;
julkinen luokka CheckArrayValue3
{
julkinen static void main ( merkkijono [ ] args )
{

// Ilmoita joukko lukuja
int [ ] numArray = { 89 , Neljä viisi , 72 , 67 , 12 , 43 } ;

// Määritä skanneriobjekti
@ Suppress Warnings ( 'resurssi' )

Skannerin syöttö = uusi skanneri ( System.in ) ;
System.out.println ( 'Syötä numero hakuun:' ) ;

// Ota palaute käyttäjältä
int num = input.nextInt ( ) ;

// Tarkista onko arvo olemassa sisään taulukon vai ei käyttämällä anyMatchia ( ) menetelmä
boolean found = IntStream.of ( numArray ) .anyMatch ( x - > x == ei ) ;

// Aseta alkuarvo sisään lähtömuuttuja
Merkkijonon lähtö = 'The' + numero;
// Aseta viesti tulosmuuttujaan löydetyn muuttujan perusteella
lähtö += löytyi? ' on olemassa taulukossa.' : 'ei ole taulukossa.' ;
// Tulosta tulos
System.out.println ( ulostulo ) ;
}
}


Lähtö:

Seuraava tulos tulostetaan, jos 45 otetaan syötearvoksi, joka on olemassa taulukon arvoissa:


Seuraava tulos tulostetaan, jos syötearvoksi otetaan 100, jota ei ole taulukon arvoissa:

Johtopäätös

Tässä opetusohjelmassa esitetään useita esimerkkejä kolmella eri tavalla, joilla voit tarkistaa, sisältääkö taulukko tietyn arvon.