Program Java za preverjanje, ali matrika vsebuje dano vrednost

V tem programu se boste naučili preverjati, ali matrika vsebuje določeno vrednost v Javi.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Java nizi
  • Vrste podatkov Java (primitivne)

Primer 1: Preverite, ali Int Array vsebuje dano vrednost

 public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 3; boolean found = false; for (int n : num) ( if (n == toFind) ( found = true; break; ) ) if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Izhod

 3 najdena.

V zgornjem programu imamo nabor celih števil, shranjenih v spremenljivki num. Številka, ki jo najdemo, je shranjena v mapi Find.

Zdaj za vsako zanko uporabljamo za iteracijo skozi vse elemente števila in posamezno preverimo, ali je toFind enak n ali ne.

Če je odgovor pritrdilen, smo nastavili truezanko in prelomili zanko. Če ne, se premaknemo na naslednjo ponovitev.

Primer 2: Preverite, ali matrika vsebuje dano vrednost, s pomočjo Stream

 import java.util.stream.IntStream; public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 7; boolean found = IntStream.of(num).anyMatch(n -> n == toFind); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Izhod

 7 ni mogoče najti.

V zgornjem programu namesto da uporabimo zanko za vsako, pretvorimo polje v an IntStreamin uporabimo njegovo anyMatch()metodo.

anyMatch()metoda zavzame predikat, izraz ali funkcijo, ki vrne logično vrednost. V našem primeru predikat primerja vsak element n v toku s toFind in vrne trueoz false.

Če se vrne kateri koli od elementov n true, je tudi najdeno nastavljeno na true.

3. primer: Preverite, ali matrika vsebuje dano vrednost za neprimitivne vrste

 import java.util.Arrays; public class Contains ( public static void main(String() args) ( String() strings = ("One", "Two", "Three", "Four", "Five"); String toFind = "Four"; boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind)); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Izhod

 Štiri najdemo.

V zgornjem programu smo uporabili neprimitivni podatkovni tip Stringin uporabili metodo Arrays's, stream()da smo jih najprej pretvorili v tok in anyMatch()preverili, ali matrika vsebuje določeno vrednost toFind.

Zanimive Članki...