乱数を書き込むと、コードは入力された一意の数字の数を計算することになっています。例 5545 では、答えとして 2 が返されます。これは 10 桁まで機能します。それ以上の桁数を入力すると、エラー メッセージが表示されます。なぜですか?
import java.util.Random;
import se.lth.cs.window.SimpleWindow;
import se.lth.cs.p.ovn.turtle.Turtle;
import java.util.Scanner;
public class p5 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int apa=0;
System.out.println("ange tal");
int tal = scan.nextInt();
boolean hej [] = new boolean[10];
if(tal==0){
hej[0]=true;
System.out.println("awejawejwaejae");
}
while(tal>0){
int z = tal%10;
hej[z]=true;
tal=tal/10;
}
for(int k=0; k<10; k++)
if(hej[k]==true){
apa++;
}
System.out.println(apa);
for(int k=0; k<10; k++){
System.out.println(hej[k]);
}
}
}