fork download
  1. import java.io.File
  2.  
  3. fun main(args : Array<String>) {
  4. val content = File(args[0]).readText()
  5. val word = args[1]
  6.  
  7. println( search1(word,content) )
  8. println( search2(word,content) )
  9. println( search3(word,content) )
  10. }
  11.  
  12. fun search1(word: String, content: String) : Boolean {
  13. return (content.indexOf(word) != (-1))
  14. }
  15.  
  16. fun search2(word: String, content: String) : Int {
  17. var i = 0
  18. var n = 0
  19. while( { i = content.indexOf(word,i); i++ != -1 }() ) n++
  20. return n
  21. }
  22.  
  23.  
  24. data class Search3Result(val found: Boolean, val count: Int, val indices: List<Pair<Int,Int>>)
  25. fun search3(word: String, content: String) : Search3Result {
  26. val indices = mutableListOf<Pair<Int,Int>>()
  27. var l = 0
  28.  
  29. for( line in content.lines() ) {
  30. var i = 0
  31. while( { i = line.indexOf(word,i); i != -1 }() ){
  32. indices.add(Pair(l, i++))
  33. }
  34. l++
  35. }
  36.  
  37. return Search3Result(indices.size > 0, indices.size, indices)
  38. }
  39.  
  40.  
  41.  
Runtime error #stdin #stdout #stderr 0.04s 4382720KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
	at ProgKt.main(prog.kt:4)