dan*_*ila -4 java indexoutofboundsexception
(我使用的是Java 1.4.2)我希望有一个阵列可以在用户给出的一定时间内翻转"硬币"(硬币可以翻转1000次).然后随机生成1到10之间的整数,将所有数字存储在数组中.我有以下代码,但它一直给我以下错误:
线程"main"中的异常java.lang.ArrayIndexOutOfBoundsException:7在CoinFlip.main(CoinFlip.java:42)
这是我写的代码.
import java.io.*;
import java.math.*;
public class CoinFlip
{
public static void main(String[] args) throws IOException
{
// setting up variables
String timesString;
int times;
// setting up input
BufferedReader in;
in = new BufferedReader(new InputStreamReader(System.in));
do
{
// times will display how many times the coin will flip
// loop if times does not fulfill the requirements
System.out.println("How many times do you want the coin to flip? (MUST be an integer between 1 to 1000)");
timesString = in.readLine();
// convert timesString into an integer
times = Integer.valueOf(timesString).intValue();
if((times > 1000)||(times < 1))
{
System.out.println("ERROR: The number of times you flip the coin must be an integer between 1 and 1000.");
}
System.out.println("The value for times is " +times);
}
while((times > 1000)||(times < 1));
// create a new array
double flip[] = new double[times];
// create a new variable timeStore that sets the boolean conditions for the For Loop
int timeStore;
for(timeStore = 0; timeStore <= times-1; timeStore++)
{
System.out.println("timeStore (how many iterations) is " +timeStore);
System.out.println("FOR LOOP: When " +timeStore+ " is less than or equal to " +(times-1));
flip[times] = Math.round(Math.random()*9)+1;
// the line above stores a random integer between 1 and 10 within the current index
System.out.println("flip["+times+"] = "+flip[times]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在第42行;
flip[times] = Math.round(Math.random()*9)+1;
Run Code Online (Sandbox Code Playgroud)
应该;
flip[timeStore] = Math.round(Math.random()*9)+1;
Run Code Online (Sandbox Code Playgroud)
然后也在第44行的System.out中.
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |