нужна помощь с java!!!
Platon Tretyakov
Добрый день.
нужна помощь, есть код с рандомными числами(-1,0,1) в массиве(arr) и выводом максимального количества нулей идущих подряд.
иногда вылезает ошибка!
код:
package com.company;
import java.util.Random; public class Main { static int getRandom(int min, int max) {
Random random = new Random();
int res = random.nextInt(max);
res = res < min ? res + min : res;
return res;
}
public static void main(String[] args) { int rounds=1000;
int[] arr=new int[rounds];
int b;
int max=0;
int score=0;
int x=0;
int[] maximum=new int[rounds];
for (int g=0; g<rounds; g++) {
b = getRandom(-1, 3);
if (b == 2) {
b = -1;
arr[g] = b;
}else {
arr[g] = b;
}}
for (int time=0; time < rounds; time++) {
if (arr[time]==0) {
score++;
int f = time;
while (score != 0) {
if (arr[f+1] == 0) {
score++;
}else{
maximum[x] = score;
x++;
score = 0;
}
f++;
}
}else {
System.out.print("");
}}
for (int i = 0; i < maximum.length; i++) {
if (max < maximum) {
max = maximum;
}}
System.out.println("");
for (int qwe = 0; qwe < arr.length; qwe++) {
System.out.print(arr[qwe] + ", ");
}
System.out.println(" ");
System.out.println("самое большое количество нулей идущих подряд: " + max);
}} ошибка: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1000
at com.company.Main.main(Main.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Platon Tretyakov около 1 года назадСпасибо 0
0 чел.