Erstellen einen Bereich in Java
- Erstellen und prüfen Sie, ob eine Zahl in Java im Bereich liegt
- Erstellen einen Bereich mit Guava Range in Java
- Erstellen einen Bereich mit Apache Range in Java
- Erstellen einen Bereich mit ValueRange in Java
Verschiedene Bibliotheken in Java können einen Bereich erstellen und prüfen, ob eine bestimmte Zahl zwischen dem erstellten Bereich vorhanden ist. Wir können auch die traditionellen Methoden in Java verwenden, um zu prüfen, ob eine bestimmte Zahl zwischen einem Mindest- und Höchstwert des Bereichs liegt. Lassen Sie uns Bibliotheken von Drittanbietern sowie herkömmliche Methoden verwenden, um diese Aufgabe zu erfüllen.
Erstellen und prüfen Sie, ob eine Zahl in Java im Bereich liegt
Dies ist die traditionelle Methode, um zu prüfen, ob die Zahl im Bereich liegt. Wir gehen als Argument durch. Hier haben wir eine Klasse, InRange
, erstellt, die einen Standardkonstruktor hat, um übergebene Argumente an die Mitgliedsvariablen zu initialisieren. Es erstellt einen Bereich und prüft, ob die Zahl innerhalb des Bereichs liegt.
Wir erstellen eine Instanz der Klasse InRange
mit dem Schlüsselwort new
und übergeben den unteren und oberen Wert des Bereichs im Default-Konstruktor. Jetzt prüfen wir, ob Nummer
50
zwischen 10
und 99
fällt.
Wir rufen die Methode containsInRange()
auf, die eine boolesche Überprüfung zurückgibt, ob die Zahl größer oder gleich dem unteren Bereich und kleiner oder gleich dem oberen Bereich ist, indem die Anweisung number >= lowerRange && number <= higherRange
verwendet wird. Somit fällt 50
in den angegebenen Bereich, sodass als Ausgabe true
zurückgegeben wird.
import org.w3c.dom.ranges.Range;
class InRange {
private int lowerRange;
private int higherRange;
public InRange(int low, int high) {
lowerRange = low;
higherRange = high;
}
public boolean containsInRange(int number) {
return (number >= lowerRange && number <= higherRange);
}
}
public class TestRange {
public static void main(String[] args) {
InRange inRange = new InRange(10, 99);
int number = 50;
System.out.println(
"Is number " + number + " in our range : " + inRange.containsInRange(number));
}
}
Ausgabe:
Is number 50 in our range : true
Erstellen einen Bereich mit Guava Range in Java
Dies ist eine Bibliothek eines Drittanbieters. Guava Range
repräsentiert ein Intervall mit den Endpunkten a
und b
, die die Grenze bilden. Wir prüfen, ob eine Zahl zwischen a
und b
liegt.
Die für diese Bibliothek erforderliche Maven-Abhängigkeit ist unten angegeben.
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>29.0-jre</version>
</dependency>
Wir erstellen eine range
-Instanz dieses Typs mit Standard-Factory-Methoden. Der erstellte Bereich kann basierend auf exklusiven oder inklusiven Endpunkten offen oder geschlossen sein.
Die Methode open(a,b)
erstellt und gibt einen Bereich zurück, der a < Bereich < b darstellt. Das heisst a
und b
sind ausgeschlossen. Während für die Methode closed(a, b
) der Bereich a
<= Bereich <=b
ist, sind also a
und b
eingeschlossen.
Die Methode contains()
gibt true zurück, wenn das übergebene Argument innerhalb des angegebenen Bereichs liegt. Wenn wir beispielsweise mit der Methode contains()
prüfen, ob die Instanz range
die Zahl 8
enthält, gibt sie false zurück, da es sich um einen exklusiven Bereich handelt.
Aber gleichzeitig gibt der Aufruf der Methode contains(8)
für die Instanz range1
true für dasselbe Argument zurück, da es sich um einen inklusiven Bereich handelt. Wir können dies in der Ausgabe sehen.
import com.google.common.collect.Range;
public class TestRange {
public static void main(String[] args) {
Range<Integer> range = Range.open(1, 8);
Range<Integer> range1 = Range.closed(1, 8);
System.out.println(range.contains(3));
System.out.println(range.contains(8));
System.out.println(range1.contains(8));
}
}
Ausgabe:
true
false
true
Erstellen einen Bereich mit Apache Range in Java
Apache Range
ist eine weitere Bibliothek eines Drittanbieters, um zu prüfen, ob eine Zahl innerhalb des Bereichs liegt. Die Maven-Abhängigkeit für diese Bibliothek ist unten angegeben.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0.1</version>
</dependency>
Die Apache-Klasse Range
repräsentiert einen Bereich von Werten von einem minimalen bis zu einem maximalen Wert (einschließlich). Wir haben eine testRange
-Instanz mit der Factory-Methode between()
erstellt, die einen Bereich von 10
bis 34
darstellt, d. h. der Bereich umfasst auch diese beiden Werte.
Die Methode contains()
prüft, ob ein angegebenes Element innerhalb des Bereichs vorhanden ist. Es gibt true zurück, wenn der Bereich das Element enthält.
import org.apache.commons.lang3.Range;
public class TestRange {
public static void main(String[] args) {
Range<Integer> testRange = Range.between(10, 34);
System.out.println(testRange.c(2));
System.out.println(testRange.contains(32));
}
}
Ausgabe:
false
true
Erstellen einen Bereich mit ValueRange in Java
Wir können auch Java 8 ValueRange
verwenden, das einen Bereich erstellt, der sowohl den Mindest- als auch den Höchstwert umfasst. Die Methode isValidIntValue
prüft, ob der übergebene Parameter im gültigen Bereich liegt. Es validiert auch, ob alle Werte im Bereich in ein int
passen.
import java.time.temporal.ValueRange;
public class TestRange {
public static void main(String[] args) {
ValueRange range = ValueRange.of(0, 2);
System.out.println(range.isValidIntValue(8));
}
}
Ausgabe:
false
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn