У меня есть проблема с ревизией, которая требует, чтобы я добавил случайно сгенерированный дубль для добавления в существующий список arrayList entrants
, это происходит в методе runRace
, и я почти уверен, что кодировал эту часть runRace
правильно, но в этом методе я получаю ошибку несовместимых типов, когда я пытаюсь передать значение randomRaceTime
переменной времени в классе Entrant.
Это единственная переменная, которая была задана, которая еще не использовалась, поэтому я более чем уверен, что она должна идти, а затем она добавляется в ArrayList как еще одна запись.
Но я изо всех сил пытаюсь понять, почему я получаю ошибку несовместимого типа, поскольку я объявил все предыдущие переменные как двойные или неправильно передаю данные
Я включил оба полных класса, любая помощь будет принята с благодарностью, так как я думал, что понял это.
public class WCCR
{
// instance variables - replace the example below with your own
private ArrayList<String> entrants;
static Scanner myInput = new Scanner(System.in); // initialise user input
private double randomRaceTime;
/**
* Constructor for objects of class WCCR
*/
public WCCR()
{
// initialise array list of objects Entrants
entrants = new ArrayList<>();
}
public void readInEntrants()
{
System.out.println("Enter your file");
String textFileInput = myInput.nextLine(); // takes input from user
entrants = new ArrayList<>();
try
{
FileReader file = new FileReader(textFileInput);//textFileInput); // reads the file
BufferedReader buffer = new BufferedReader(file);
String fileLine = "";
while ((fileLine = buffer.readLine())!= null) // reads through the file
{
entrants.add(fileLine);
}
buffer.close();
}
catch (IOException e) // catches input/output error
{
System.out.println("A read error has occurred");
}
// System.out.println("The Entrants are : " + entrants); // used to test the file has been added to the array list
}
public double generateTime()
{
int size = entrants.size();
for(int y = 0; y < size; y++)
{
Random r = new Random();
randomRaceTime = 30.00 + (60.00 - 30.00) * r.nextDouble();
}
//System.out.println("The race times are: " + randomRaceTime);
}
public void runRace()
{
int size = entrants.size();
entrants = new ArrayList<>();
for(int y = 0; y < size; y++)
{
Entrant time = randomRaceTime; // variable time from Entrant Class assigned the value of randomRacetime
entrants.add(time); // time added to the array List entrants
System.out.println("The Entrants are with times are: " + entrants);
// System.out.println("arrayList size is :" + size); used to test array is correct
}
}
}
public class Entrant
{
/* instance variables */
private int number; // entrant's number
private String name; // entrant's name
private String category; //
private double time; // entrant's time in seconds
/**
* Constructor for objects of class Entrant.
*/
public Entrant()
{
super();
name = "";
category = "";
time = 0.0;
while(number > number + 1)
{
number++;
}
}
}
// getter & setter methods follow
Участники со временем: [Джон Смит, E1, Мэри Джонс, E2, Джейн Смит, E1, Мэйлин Ванг, E3, Карлос Гонсалес, E3, Даррен Эдвардс, E2, Мелани Робертс, E1, Марк Эдвардс, E2 Шам Сингх, E3, Мораг Стивенс, E1, Джеймс Лонг, E2, Дэвид Кларк, E3, Робин Армстронг, E3, Максин Роджерс, E2, Роузин Хьюз, E1, Джонатан Майлз, E1, Клаус Мюллер, E2, Кристин Майлз, E1 Эндрю Смит, E3, Астрид Уитцани, E3, Нико ван Дорд, E2, Ив Тирионет, E1, Энди Симпсон, E2, Брайан Двелли, E3, Вера Аланд, E1, Барри Милсом, E2, Саймон Харрис, E3, Хелен Джонс, E3, Джастин Лоусон, E2, Сара Дженнингс, E1]
- это весь массив при вызове, но он должен добавить другое значение для каждой записи случайно сгенерированного двойного