Задать вопрос
Ответы пользователя по тегу Java
  • Как парсить данные с сайта openweathermap?

    @thatmaniscool
    Ответ от сервера приходит в формет JSON.
    Добавьте в Ваш проект GSON и почитайте документацию как с помощью этой библиотеки можно разобрать JSON строку на составляющие.
    Ответ написан
    Комментировать
  • Как расчитать для каждого района и количества комнат среднюю стоимость квадратного метра?

    @thatmaniscool
    Как писали выше, нужно отсортировать по районам и комнатам.
    Не совсем понял, как вы рассчитали среднюю стоимость квадратного метра, но задача мне показалась интересной и я её попробовал решить.
    Ниже то, что у меня получилось. Если ответ был полезен, буду рад за позитивную оценку.
    Apartment aps1 = new Apartment("Leninskiy", 5, 120, 3000000);
            Apartment aps2 = new Apartment("Leninskiy", 5, 100, 2000000);
            Apartment aps3 = new Apartment("Leninskiy", 7, 160, 5000000);
            Apartment aps4 = new Apartment("Severny", 3, 70, 1000000);
            Apartment aps5 = new Apartment("Severny", 5, 76, 1100000);
            Apartment aps6 = new Apartment("Severny", 7, 120, 2000000);
    
            List<Apartment> apsList = new ArrayList<>();
    
            apsList.add(aps1);
            apsList.add(aps2);
            apsList.add(aps3);
            apsList.add(aps4);
            apsList.add(aps5);
            apsList.add(aps6);
    
            Map<String, List<Apartment>> districMap = apsList.stream().collect(Collectors.groupingBy(apartment -> {
                return apartment.getDistrict();
            }));
    
            for (Map.Entry<String, List<Apartment>> entry : districMap.entrySet()){
                String _distric = entry.getKey();
                Map<Integer, List<Apartment>> _rooms = entry.getValue().stream().collect(Collectors.groupingBy(apartment -> {
                    return apartment.getRoomQuantity();
                }));
    
                for(Map.Entry<Integer, List<Apartment>> _entry : _rooms.entrySet()){
                    int roomNum = _entry.getKey();
                    IntSummaryStatistics meters = _entry.getValue().stream().mapToInt(Apartment::getSquare).summaryStatistics();
                    IntSummaryStatistics price = _entry.getValue().stream().mapToInt(Apartment::getPrice).summaryStatistics();
                    System.out.println(String.format("Район: %s, комнат: %d, средняя площадь: %f, средняя стоимость метра: %f", _distric, roomNum, meters.getAverage(), (price.getAverage() / meters.getAverage())));
                }
            }

    Что вывело:

    Район: Severny, комнат: 3, средняя площадь: 70,000000, средняя стоимость метра: 14285,714286
    Район: Severny, комнат: 5, средняя площадь: 76,000000, средняя стоимость метра: 14473,684211
    Район: Severny, комнат: 7, средняя площадь: 120,000000, средняя стоимость метра: 16666,666667
    Район: Leninskiy, комнат: 5, средняя площадь: 110,000000, средняя стоимость метра: 22727,272727
    Район: Leninskiy, комнат: 7, средняя площадь: 160,000000, средняя стоимость метра: 31250,000000
    Ответ написан
    Комментировать
  • JSSC не отправляет байты. В чем может быть проблема?

    @thatmaniscool Автор вопроса
    Вопрос решил. Если вдруг кому-то потребуется.
    System.out.println (serialPort.setParams(9600, 8, 1, 0, true, true) 
    				? "Set params is succeful!" : " Set params false");
    		
    		System.out.println(serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE)
    				? "set flow control mode is succeful!" : "set flow control mode fail!");
    		
    		
    		serialPort.addEventListener(new Main (), SerialPort.MASK_RXCHAR);
    Ответ написан
    Комментировать