Java'da Veri Temizleme
Dennis Lee
Software Engineer
| Satış temsilcisi | Ülke | Ürün | Tarih | Tutar | Gönderilen Koli |
|---|---|---|---|---|---|
| James Rudeforth | UK | Nane Parçalı Çiko | 4-Jan-22 | $5,320 | 180 |
| Van Tuxwell | Hindistan | %85 Bitter Bar | 1-Aug-22 | $7,896 | 94 |
| Gigi Bohling | Hindistan | Fıstık Ezmesi Küpleri | 7-Jul-22 | $4,501 | 91 |
| Jan Morforth | Avustralya | Fıstık Ezmesi Küpleri | 27-Apr-22 | $12,726 | 342 |
| Jehu Fischer | UK | Fıstık Ezmesi Küpleri | 24-Feb-22 | $13,685 | 184 |
// Bu satış tutarlarını ve tarihlerini veri kümemizden çıkardık
List<Double> salesAmounts = Arrays.asList(5320.0, 7896.0, 4501.0,
12726.0, 13685.0);
List<String> saleDates = Arrays.asList("4-Jan-22", "1-Aug-22", "7-Jul-22",
"27-Apr-22", "24-Feb-22");
System.out.println("Sales amounts: " + salesAmounts);
System.out.println("Sale dates: " + saleDates);
Sales amounts: [5320.0, 7896.0, 4501.0, 12726.0, 13685.0]
Sale dates: [4-Jan-22, 1-Aug-22, 7-Jul-22, 27-Apr-22, 24-Feb-22]
// En düşük satış tutarını alın
Double minSale = Collections.min(salesAmounts);
// En yüksek satış tutarını alın
Double maxSale = Collections.max(salesAmounts);
System.out.println("Aralık: $" + minSale + " - $" + maxSale);
Aralık: $4501.0 - $13685.0
// Satış tutarı 0.0'dan küçük olmamalıdır Double lowerThreshold = 0.0; // Satış tutarı 15000.0'dan büyük olmamalıdır Double upperThreshold = 15000.0;for (Double amount : salesAmounts) { // Her tutarın aralığa düştüğünü kontrol edin if (amount >= lowerThreshold && amount <= upperThreshold) { System.out.println(amount + " aralıkta"); } }
5320.0 aralıkta
7896.0 aralıkta
4501.0 aralıkta
12726.0 aralıkta
13685.0 aralıkta
import org.apache.commons.lang3.Range;
// Düşük satış kategorisi: $0 - $5000
Range<Double> lowSales = Range.between(0.0, 5000.0);
// Orta satış kategorisi: $5000 - $10000
Range<Double> mediumSales = Range.between(5000.0, 10000.0);
// Yüksek satış kategorisi: $10000 - $15000
Range<Double> highSales = Range.between(10000.0, 15000.0);
for (Double amount : salesAmounts) {
if (lowSales.contains(amount)) { // Tutar düşük satış aralığında mı?
System.out.println("$" + amount + " - Düşük satış");
} else if (mediumSales.contains(amount)) { // Tutar orta satış aralığında mı?
System.out.println("$" + amount + " - Orta satış");
} else if (highSales.contains(amount)) { // Tutar yüksek satış aralığında mı?
System.out.println("$" + amount + " - Yüksek satış");
} else { // Tutar beklenen aralığın dışında mı?
System.out.println("$" + amount + " - Beklenen aralık dışında");
}
}
Satış sınıflandırması:
$5320.0 - Orta satış
$7896.0 - Orta satış
$4501.0 - Düşük satış
$12726.0 - Yüksek satış
$13685.0 - Yüksek satış
// d-MMM-yy: ayın günü (d), kısaltılmış ay adı (MMM), iki haneli yıl (yy) DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d-MMM-yy"); LocalDate startDate = LocalDate.of(2022, 1, 1); // 2022 başlangıcı LocalDate endDate = LocalDate.of(2022, 12, 31); // 2022 sonufor (String dateStr : saleDates) { LocalDate saleDate = LocalDate.parse(dateStr, formatter);// Geçerli tarihler startDate'ten sonra ve endDate'ten önce olmalıdır boolean isValid = saleDate.isAfter(startDate) && saleDate.isBefore(endDate); System.out.println(dateStr + " geçerli mi: " + isValid); }
4-Jan-22 geçerli mi: true
1-Aug-22 geçerli mi: true
7-Jul-22 geçerli mi: true
27-Apr-22 geçerli mi: true
24-Feb-22 geçerli mi: true
org.apache.commons.lang3.RangeCollections.min(salesAmounts), Collections.max(salesAmounts)Range.between(0.0, 5000.0)lowSales.contains(amount)saleDate.isAfter(startDate), saleDate.isBefore(endDate)Java'da Veri Temizleme