Как в java задать диапазон чисел

Аватар пользователя Сергей Якимович
Сергей Якимович
04 февраля 2023

Можно воспользоваться возможностями enum.

Приведенный ниже код задает диапазоны и проверяет в какой диапазон попадает число :

public class App {
    public enum Range {
        RANGE1(Double.MIN_VALUE,1),
        RANGE2(1, 2),
        RANGE3(2, 3),
        RANGE4(3, 4),
        RANGE5(4, 5),
        RANGE6(5, 6),
        RANGE7(6, 7),
        RANGE8(7, 8),
        RANGE9(8, 9),
        RANGE10(9, Double.MAX_VALUE);

        public double min;
        public double max;

        Range(double min, double max) {
            this.min = min;
            this.max = max;
        }

        @Override
        public String toString() {
            return "Диапазон {" +
                    " min=" + min +
                    ", max=" + max +
                    " }\n";
        }

        public static Range getRange(double x) {
            for(Range range : Range.values()) {
                if(x >= range.min && x < range.max) {
                    return range;
                }
            }
            return null;
        }
    }

    public static void main(String[ ] args) {
        double x = 4.5;
        Range range = Range.getRange(x);
        System.out.println(range.toString()); // => Диапазон { min=4.0, max=5.0 }
    }
}
1 0
Аватар пользователя Сергей Якимович
Сергей Якимович
23 февраля 2023

Также можно воспользоваться классом ValueRange :

import java.time.temporal.ValueRange;

public class App {
    public static void main(String[] args) {
        ValueRange rang = ValueRange.of(0, 10);

        System.out.println(rang.isValidValue(2)); // => true
        System.out.println(rang.isValidValue(20)); // => false
        System.out.println(rang);  // => 0 - 10
    }
}
0 0
Основы Java за 14 дней
  • 62 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Похожие вопросы