Exception in thread "main" java.lang.IndexOutOfBoundsException
Bonjour,
tout d'abord, je tenais à vous remercier du temps investis pour aider autrui!!!
Le code ci dessous est un code KOTLIN mais vous ne devriez pas être perdus. Le problème doit être le même en Java!
La communauté KOTLIn est peu active, donc pas de réponse dans la section KOTLIN.
Mon souci avec ce code est que lorsque je dépasse 46_348, j'ai le message de l'intitulé " Exception in thread "main" java.lang.IndexOutOfBoundsException ".
Avez vous une petite idée?
Merci d'avance. JC
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
class NombrePremier{
fun primeNumber() {
val maxPrime: Int = 46_348
var isPrime = mutableListOf<Boolean>()
// var isPrime = mutableListOf<Boolean>(false, false)
var primes = mutableListOf<Int>()
fun boucleTrue() {
try {
for (index in 0..maxPrime) {
isPrime.add(true)
}
isPrime[0] = false
isPrime[1] = false
println("✅ Successfully... Fun boucleTrue")
println("✅ Size of isPrime: ${isPrime.size}")
}
catch(ex: Exception) {
println("🛑 Exception message from fun boucleTrue(): 🛑 $ex.message")
}
}
boucleTrue()
fun boucleFalse() {
try {
for (i in 2..maxPrime) {
if (isPrime[i]) { /* the same: replace this (isPrime[i] == true) */
var j = i * i
while (j <= maxPrime) {
//println("i: $i j: $j")
isPrime[j] = false
//println("i2: $i & j2: $j")
j += i
//println("i3: $i & j3: $j")
}
//println("i avant add i: $i")
primes.add(i)
//println("i après add i: $i")
}
}
fun infos() {
println("✅ Successfully... Fun boucleFalse")
println("✅ All Primes Numbers: $primes")
println("✅ Numbers of primes number: ${primes.size}")
println("✅ Last Prime Number: ${primes.last()}")
}
infos()
}
catch(ex: Exception) {
println("🛑 Exception message from fun boucleFalse(): 🛑 $ex.message")
}
}
boucleFalse()
fun writeToFile() {
try {
// using java class java.io.PrintWriter
val writer = PrintWriter("files/JCfile.txt")
writer.append(primes.toString())
writer.println()
writer.close()
// using java class java.io.File
val fileName = "files/data.txt"
var file = File(fileName)
// create a new file
val isNewFileCreated: Boolean = file.createNewFile()
if (isNewFileCreated) {
println("✅ $fileName is created successfully.")
} else {
println("✅ $fileName already exists.")
}
file.appendText(primes.toString())
}
catch (ex: Exception) {
println("🛑 Exception message from fun writeToFile(): 🛑 $ex.message")
}
}
writeToFile()
}
} |