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.








