Gelişmiş Dize Biçimlendirme
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 49 / 59.
Java'da dize biçimlendirme, biçim belirteçleri kullanarak biçimlendirilmiş dizeler oluşturmanıza olanak tanır. En yaygın olanlar dizeler için %s, tam sayılar için %d ve ondalıklar için %.2f.
Birden fazla değerle bir dize biçimlendirin:
String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);Yukarıdaki kodu çalıştırdıktan sonra, text içerir:
Name: John, Age: 25
Ondalık sayıları hassasiyetle biçimlendirin:
double price = 19.99;
String formatted = String.format("Price: $%.2f", price);Yukarıdaki kodu çalıştırdıktan sonra, formatted içerir:
Price: $19.99
Görev
KolayformatData adında bir yöntem oluşturun ki dört argüman alsın:
- Ürün adı için bir String (
name) - Ürün fiyatı için bir double (
price) - Miktar için bir tamsayı (
quantity) - Çıktı format türü için bir String (
format)
Yöntem veriyi şu türlere göre formatlamalıdır:
- "basic": return "ITEM: {name}, PRICE: ${price}"
- "detailed": return "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}"
- "total": return "TOTAL FOR {quantity}x {name}: ${total}" (total = price * quantity) Tüm fiyatlar tam olarak 2 ondalık basamakla formatlanmalıdır.
Dönüş mesajı:
- Herhangi bir girdi null veya geçersiz format ise: return "Invalid input"
Kopya kağıdı
Java'da dize biçimlendirme, String.format() ile biçim belirleyicileri kullanır:
%sdizeler için%dtam sayılar için%.2f2 ondalık basamaklı ondalık sayılar için
Çoklu değerlerle dize biçimlendirme:
String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);
// Sonuç: "Name: John, Age: 25"Ondalık sayıları hassasiyetle biçimlendirme:
double price = 19.99;
String formatted = String.format("Price: $%.2f", price);
// Sonuç: "Price: $19.99"Kendin dene
import java.util.Scanner;
public class Main {
public static String formatData(String name, double price, int quantity, String format) {
// Buraya kodunuzu yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
double price = Double.parseDouble(scanner.nextLine());
int quantity = Integer.parseInt(scanner.nextLine());
String format = scanner.nextLine();
if (name.equals("null")) name = null;
if (format.equals("null")) format = null;
System.out.println(formatData(name, price, quantity, format));
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap5HashSet Kısım 2
Matematik - HashSet'lerin BirliğiMatematik - HashSet KesişimiMatematik - Küme FarkıMatematik - Simetrik FarkAlt Kümeler ve Üst KümelerKümeler Üzerinde Yineleme8Gelişmiş Dize İşlemleri
StringBuilder TemelleriStringBuffer'e GirişDüzenli İfadeler TemelleriRegex ile Desen EşleştirmeDize AyrıştırıcısıGelişmiş Dize Biçimlendirme3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme