Я пытаюсь создать программу, которая создает файл, который генерирует числа случайным образом, и я хочу, чтобы программа считывала эти числа из файла и анализировала его.Если случайно сгенерированное число не равно 0, программа должна продолжать генерировать числа, но если оно равно 0, то программа остановится.Однако, похоже, что моя программа не читает эти числа.
Я попытался поместить outFile.close();
и inFile.close();
в пару разных мест, чтобы посмотреть, исправит ли это что-нибудь, но похоже, что это не такразрабатывать.Я попытался отследить свой код ручкой и бумагой, но не смог найти ничего плохого.Возможно, это может быть мое размещение outFile.close();
и inFile.close();
, но я не смог найти в этом ничего плохого.
import java.util.*;
import java.io.*;
public class squirrel {
public static void main(String[] args) throws IOException{
Scanner in = new Scanner(System.in);
PrintWriter outFile = new PrintWriter(new File("squirrel.txt"));
Scanner inFile = new Scanner(new File("squirrel.txt"));
Random rand = new Random();
int squirrelNum;
int foxSquirrel = 0;
int squirrelsSeen = 0;
int trials = 0;
System.out.println("Welcome to the Fox Squirrel Simulator\n");
System.out.println("How many trials should be simulated?");
System.out.println("Enter a value greater than 1000: ");
trials = in.nextInt();
while(trials <= 1000)
{
System.out.println("Please try again. Enter a value greater than 1000: ");
trials = in.nextInt();
}
for(int i = 0; i <= trials; i ++)
{
squirrelNum = rand.nextInt(10);
outFile.println(squirrelNum);
while(inFile.hasNextInt())
{
int token = inFile.nextInt();
while(token != 0)
{
squirrelsSeen ++;
}
if(token == 0)
{
foxSquirrel ++;
squirrelsSeen ++;
}
outFile.close();
}
System.out.println("squirrelsSeen: " + squirrelsSeen);
System.out.println("foxSquirrel: " + foxSquirrel);
}
inFile.close();
System.out.println("\nsimulating trials now... one moment please...\n");
System.out.println("The results!");
System.out.println("The average number of squirrels until spotting a Fox Squirrel at the city park is: " + (((double)foxSquirrel / squirrelsSeen) * 100));
}
}