Loading...
egencheva avatar egencheva 0 Точки

01. Point on Rectangle Border . Къде греша?Благодаря!

import java.util.Scanner;

public class PointOnBorder {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //x1, y1, x2, y2, x и y (като се гарантира, че x1 < x2 и y1 < y2).
        double x1 = Double.parseDouble(scanner.nextLine());
        double y1 = Double.parseDouble(scanner.nextLine());
        double x2 = Double.parseDouble(scanner.nextLine());
        double y2 = Double.parseDouble(scanner.nextLine());
        double x = Double.parseDouble(scanner.nextLine());
        double y = Double.parseDouble(scanner.nextLine());

        boolean xBorderIsValid = (x == x1) || (x == x2);
        boolean yBorderIsValid = (y == y1) || (y == y2);

        if (xBorderIsValid) {
            if (y > y1 && y < y2) ;
            System.out.println("Border");
        } else if (yBorderIsValid) {
            if (x > x1 && x < x2) ;
            System.out.println("Border");
        } else {
            System.out.println("Inside / Outside");
        }
    }
}
Тагове:
0
Programming Basics with Java
ValenNEW avatar ValenNEW 51 Точки

Пробвай да подмениш "Bool"-ените декларации с това!

boolean xBorderIsValid = ((x == x1) || (x == x2)) && ((y >= y1) && (y <= y2));
boolean yBorderIsValid = ((y == y1) || (y == y2)) && ((x >= x1) && (x <= x2));

Освен това!

Ако при теб има това :

if (xBorderIsValid) {
            if (y > y1 && y < y2) ;
            System.out.println("Border");
        } else if (yBorderIsValid) {
            if (x > x1 && x < x2) ;
            System.out.println("Border");
        } else {
            System.out.println("Inside / Outside");
        }

То, за да сработи моето предложение. Тази конструкция трябва да се превърнев в това :

if (xBorderIsValid) {
            System.out.println("Border");
        } else if (yBorderIsValid) {
            System.out.println("Border");
        } else {
            System.out.println("Inside / Outside");
        }

Имам дори и още по-лесен отговор ама ...!

Защо да няма предизвикателства!

То си е за наше добро! :)

I don't do Java! But it is always best to ask!

Поздрави!

0
03/10/2018 22:09:31
egencheva avatar egencheva 0 Точки

Благодаря много !

Успях да направя 100/100 по друг начин... по-лесен. ... 

 

0
Tanasis avatar Tanasis 39 Точки

Здрасти, може би така ще ти проработи

package Complicated;

import java.util.Scanner;

public class ExactPointInRectangle {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double x1 = Double.parseDouble(scanner.nextLine());
        double y1 = Double.parseDouble(scanner.nextLine());
        double x2 = Double.parseDouble(scanner.nextLine());
        double y2 = Double.parseDouble(scanner.nextLine());
        double x = Double.parseDouble(scanner.nextLine());
        double y = Double.parseDouble(scanner.nextLine());

        boolean isOnLeftSide = (x == x1 && y >= y1 && y <= y2);
        boolean isOnRightSide = (x == x2 && y >= y1 && y <= y2);
        boolean isOnTopSide = (y == y1 && x >= x1 && x <= x2);
        boolean isOnBottomSide = (y == y2 && x >= x1 && x <= x2);
        if (isOnBottomSide || isOnLeftSide || isOnRightSide || isOnTopSide) {
            System.out.println("Border");
        } else {
            System.out.println("Inside / Outside");
        }
    }
}
0
ValenNEW avatar ValenNEW 51 Точки

:)                            

0
04/10/2018 01:50:05
egencheva avatar egencheva 0 Точки

Благодаря :)

0
egencheva avatar egencheva 0 Точки

Благодаря!

Така разписано разбирам къде е бил проблема! Страхотно!

 

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.