Такая ситуация - внутри метода вызываю System.out.println(""); на экран выводит 2-3 раза одно и тоже. До вызова этого метода все нормально, и после тоже.
С чем можно было напутать так, что вывод на экран стал множественный? Вывод на экран внутри метода идет первой строкой. Просто тестовая фраза типа "привет" и далее идут вычисления.
Так вот этот привет пишется 2 раза. И все последующие выводы на экран внутри метода идут по 2-3 раза.
Я до этого метода работал с добавлением объектов в список и их удалением путем присваивания null;
Вызов метода calculatesMainFunctionA
NrezultTask2TypeIntervalSet.calculatesMainFunctionA(rezultTask1TypeInterval,0, numberX);
Метод calculatesMainFunctionA()
:
public void calculatesMainFunctionA(Interval variableInterval, int
positionInIntersectionSet, double ourInputX){
System.out.println("Привет");
int i = this.intervalSet.size();
boolean oneXorTwoX = true;
if (ourInputX < this.intervalSet.get(positionInIntersectionSet).getFrom()){
variableInterval.putFrom(this.intervalSet.get(positionInIntersectionSet).getFrom());
oneXorTwoX=true;
}
if (ourInputX >=this.intervalSet.get(positionInIntersectionSet).getFrom()){//x>=x1
if (ourInputX<=this.intervalSet.get(positionInIntersectionSet).getTo()){//x<=x2
variableInterval.putFrom(ourInputX);
oneXorTwoX=true;
}
else{
if (positionInIntersectionSet+1==i) {
variableInterval.putFrom(this.intervalSet.get(positionInIntersectionSet).getTo());//return x2
oneXorTwoX=true;
}
else {
if (ourInputX>=this.intervalSet.get(positionInIntersectionSet+1).getFrom()){//x>=x1n
positionInIntersectionSet++;
calculatesMainFunctionA(variableInterval,positionInIntersectionSet,ourInputX);
}
else
{
if ((ourInputX-this.intervalSet.get(positionInIntersectionSet).getTo())==(this.intervalSet.get(positionInIntersectionSet+1).getFrom()-ourInputX)){//f=f1
variableInterval.putTo(this.intervalSet.get(positionInIntersectionSet+1).getFrom());
variableInterval.putFrom(this.intervalSet.get(positionInIntersectionSet).getTo());
oneXorTwoX=false;
}
if ((ourInputX-this.intervalSet.get(positionInIntersectionSet).getTo())>(this.intervalSet.get(positionInIntersectionSet+1).getFrom()-ourInputX)){//f>f1
variableInterval.putFrom(this.intervalSet.get(positionInIntersectionSet+1).getFrom());
oneXorTwoX=true;
}
else{
variableInterval.putFrom(this.intervalSet.get(positionInIntersectionSet).getTo());
oneXorTwoX=true;
}
}
}
}
}
if (oneXorTwoX==true){
System.out.print("Для заданного числа X результатом будет такое число: ");
System.out.print(variableInterval.toString(variableInterval.getFrom()));
System.out.println(" ;-)");
}
else {
System.out.print("Для заданного числа X результатом будет 2 числа: ");
System.out.print(variableInterval.toString(variableInterval.getFrom()));
System.out.println(" и "+variableInterval.toString(variableInterval.getTo()));
}
}
на экране будет
Привет
Привет
Ответом будет 5
Ответом будет 5
Вот эта часть кода:
if (ourInputX>=this.intervalSet.get(positionInIntersectionSet+1).getFrom()){//x>=x1n
positionInIntersectionSet++;
calculatesMainFunctionA(variableInterval,positionInIntersectionSet,ourInputX);
}
Вы зовете метод опять, и соответственно получаете опять Привет! и опять ответ.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как на java в цикле от 0 до 1000 напечатать четные числа прописью? Есть ли где то готовое решение для получения числа прописью?
На поиске google появилось такие ссылки на мой сайт
Предположим, в приложении необходимо использовать Office interop(без вариантов) Всем известно, что он создает приложения office без интерфейса и через...