Ошибка, с которой я столкнулся, представляет собой бесконечный или почти бесконечный цикл в моих вызовах метода и создании класса другими конструкторами класса. То, что моя программа пытается сделать, это полу-случайное генерирование результатов опроса, основанных на фактической статистике. Я был бы очень признателен не только за понимание того, что здесь происходит. Но некоторые советы и указания о том, как предотвратить это, и способы анализа сообщений об ошибках. Я получаю, как некоторые из работы, но, как я сказал ниже, я новичок в программировании, новичок в колледже, поэтому программирование для меня новое. Спасибо заранее и извините за предыдущий пост, подумал, что я потрачу время, чтобы дать вам ребята подходящую.stackoverflowerror null
Я новый для программирования, это мой второй проект, сделанный мной сам, поэтому мне жаль, если он не самый лучший.
Это мой тест класс:
public Tester()
{
randomGenerator = new Random();
probability = new Probability();
stats = new Statistics();
double chance = randomGenerator.nextDouble();
double gender = probability.getProbabilityOfMale();
if(chance > gender)
{
male = false;
stats.incrementFemale();
}else{
male = true;
stats.incrementMale();
}
age = randomGenerator.nextInt(49)+16;
int range = stats.getNumberOfQuestion();
for(int i=0;i<range;i++)
{
probabilities = probability.probOfAnswer(i);
answers = probability.getAnswers(i);
chance = randomGenerator.nextDouble();
int size = probabilities.size();
for(int j=0;j<size;j++)
{
double qTemp = chance - probabilities.get(j);
if(qTemp <= 0.0)
{
Answer aTemp = answers.get(j);
aTemp.incrementCounter();
answers.set(j,aTemp);
}
}
}
}
Статистика Класс:
public ArrayList<Answer> getAnswers(int index)
{
temp = survey.getAnswers(index);
return temp;
}
public int getMale()
{
return male;
}
public int getFemale()
{
return female;
}
public int getNumberOfQuestion()
{
return numberOfQuestion;
}
public void incrementNumberOfQuestion()
{
numberOfQuestion++;
}
public void incrementMale()
{
male++;
}
public void incrementFemale()
{
female++;
}
и вероятность класса:
public Probability()
{
stats = new Statistics();
probOfAnswer = new ArrayList<Double>(0);
}
public ArrayList<Double> probOfAnswer(int index)
{
temp = stats.getAnswers(index);
int size = temp.size();
for(int i=0;i<size;i++)
{
aTemp = temp.get(i);
for(int j=0;j<size;j++)
{
Answer aTemp = temp.get(j);
sum += (double)aTemp.getCounter();
}
double number = (double)aTemp.getCounter();
probOfAnswer.add(number/sum);
sum = 0;
}
return probOfAnswer;
}
public ArrayList<Answer> getAnswers(int index)
{
temp = stats.getAnswers(index);
return temp;
}
public ArrayList<Double> getProbofAnswer()
{
return probOfAnswer;
}
public void probabilityOfMale()
{
double male = (double)stats.getMale();
double female = (double)stats.getFemale();
probabilityOfMale = male/(male + female);
}
public double getProbabilityOfMale()
{
return probabilityOfMale;
}
Это единственные реальные важные части, где петля exsists остальная часть кода не требуется для загрузки.
У меня возникли трудности с загрузкой моего сообщения об ошибке на этом сайте, не приняв его в качестве кода в вставке кода, после чего он не позволит мне отправить сообщение после этого, поэтому я собираюсь загрузить код elseware и связать его.
http://forum.overdosed.net/index.php/topic/56608-this-is-unimportant/
Но я не знаю, как долго этот форум позволит мне сохранить этот пост там> <
Вы не показали нам конструктора 'Статистика', где я подозреваю, что проблема такова. –
AHH жаль, держись –