Loading...
minito99 avatar minito99 23 Точки

06. Point on Rectangle Border Java

Имам пролеми с 6-та задача Точка върху страната на правоъгълник от По-сложни логически провериполучавам 83/100 къде греша?

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        double x1,x2,x,y,y1,y2;
        Scanner scanner = new Scanner(System.in);
        y1 = Double.parseDouble(scanner.nextLine());
        x1 = Double.parseDouble(scanner.nextLine());
        y2 = Double.parseDouble(scanner.nextLine());
        x2 = Double.parseDouble(scanner.nextLine());
        y = Double.parseDouble(scanner.nextLine());
        x = Double.parseDouble(scanner.nextLine());
        if((x==x1 || x==x2) && (y>=y1 && y<=y2))System.out.println("Border");
        if((x>=x1 && x<=x2) && (y==y1 || y==y2))System.out.println("Border");
        else System.out.println("Inside / Outside");
    }
}

Тагове:
0
Programming Basics
sasho91 avatar sasho91 16 Точки
Best Answer

Ето моето решение със 100/100:


 

import java.util.Scanner;

public class p06_PointOnRectangleBorder {
    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) && (y1 <= y && y <= y2)) {
        System.out.println("Border");
    }  else if ((y ==y1 || y == y2) && (x1 <= x && x <= x2)){
        System.out.println("Border");

    } else {
            System.out.println("Inside / Outside");
        }
}
}
0
minito99 avatar minito99 23 Точки

Благодаря :)

0
sasho91 avatar sasho91 16 Точки

Моля :)

0
spzvtbg avatar spzvtbg 581 Точки

за ъгловите точки печаташ 2 пъти Border защото например ако х = = x1 && y = = y1 (ъгъл) влизаш и в двете проверки и печаташ съответно 2 пъти 

0
28/03/2017 23:34:13
minito99 avatar minito99 23 Точки

Ясно благодаря за помощта.

 

0
aggeorgiev avatar aggeorgiev 326 Точки

Добра практика да се избегне двойното отпечатване в такива случаи:

деклариране на променлива извън контрукциите за проверка, промяна на стойността в тялото на конструкциите  и отпечатване накрая:

String output = "";

if............output = "border";

else : output="something else";

 

System.out.println(output);

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