Kotlin-program til at kontrollere, om en matrix indeholder en given værdi

I dette program lærer du at kontrollere, om en matrix indeholder en given værdi i Kotlin.

Eksempel 1: Kontroller, om Int Array indeholder en given værdi

 fun main(args: Array) ( val num = intArrayOf(1, 2, 3, 4, 5) val toFind = 3 var found = false for (n in num) ( if (n == toFind) ( found = true break ) ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Når du kører programmet, vil output være:

 3 er fundet.

I ovenstående program har vi en række heltal gemt i variabel num. Ligeledes gemmes det antal, der skal findes, i toFind.

Nu bruger vi en for-inløkke til at gentage alle elementerne i num og kontrollere individuelt, om toFind er lig med n eller ikke.

Hvis ja, indstiller vi fundet til trueog bryder fra sløjfen. Hvis ikke, går vi videre til næste iteration.

Eksempel 2: Kontroller, om array indeholder en given værdi ved hjælp af Stream

 import java.util.stream.IntStream fun main(args: Array) ( val num = intArrayOf(1, 2, 3, 4, 5) val toFind = 7 val found = IntStream.of(*num).anyMatch ( n -> n == toFind ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Når du kører programmet, vil output være:

 7 findes ikke.

I ovenstående program konverterer vi arrayet til en i stedet for at bruge en foreach-loop IntStreamog bruger dens anyMatch()metode.

anyMatch()metode tager et prædikat, et udtryk eller en funktion, der returnerer en boolsk værdi. I vores tilfælde sammenligner prædikatet hvert element n i strømmen med toFind og returnerer trueeller false.

Hvis noget af elementet n vender tilbage true, er fundet også indstillet til true.

Eksempel 3: Kontroller, om matrix indeholder en given værdi for ikke-primitive typer

 import java.util.Arrays fun main(args: Array) ( val strings = arrayOf("One", "Two", "Three", "Four", "Five") val toFind = "Four" val found = Arrays.stream(strings).anyMatch ( t -> t == toFind ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Når du kører programmet, vil output være:

 Fire findes.

I ovenstående program, har vi brugt en ikke-primitiv datatype Stringog brugt Arrays's stream()metode til først konvertere det til et vandløb, og anyMatch()at kontrollere, om opstilling indeholder den givne værdi tofind.

Her er den tilsvarende Java-kode: Java-program for at kontrollere, om array indeholder en given værdi.

Interessante artikler...