06. Point on Rectangle Border
Здравейте,
Имам проблем със следния код -
import java.util.Scanner; public class PointInRectangle { public static void main(String[] args) { Scanner console = new Scanner(System.in); Double x1 = Double.parseDouble(console.nextLine()); Double y1 = Double.parseDouble(console.nextLine()); Double x2 = Double.parseDouble(console.nextLine()); Double y2 = Double.parseDouble(console.nextLine()); Double x = Double.parseDouble(console.nextLine()); Double y = Double.parseDouble(console.nextLine()); if ( ( x == x1 || x == x2 ) && ( y >= y1 && y <= y2 ) ) System.out.println("Border"); else if (( y == y1 || y == y2 ) && ( x >= x1 && x <= x2 ) ) System.out.println("Border"); else System.out.println("Inside / Outside"); } }
Получавам само 72 / 100
Някой има ли идеи?
Проблемът беше единствено в скобите. Проработи с проверка с " == "
Благодаря за отговора г-н Торлаков (itorlakov)!!! (...за x.equals(x1) и т.н.)
Аз загубих 2 дена само с това да търся проблема в мене си! Ужасно се депресирах, особено, когато разбрах, че при целите числа (Integer) всичко си върви нормално, а като направя входа за данните десетични числа (Double), алгоритъма ми спира?!?
Отделно и Djuge-a не прие "радушно" Intger-a хептен се обезкуражих!
Сега ще опиша и предложение за промяна в книгата, защото е възможно заради версиите на Java-та преди да е работил метода с "еквивалентно" ( == ), сега явно не работи така за Double числа.
Вл. Маринов
п.с. В момента на писане на този пост съм с "Java 14.0.1" и "IntelliJ IDEA Community 2020.1".