Menu
CoddyTech

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çlerini kullanarak biçimlendirilmiş dizeler oluşturmanı sağlar. En yaygın olanları dizeler için %s, tam sayılar için %d ve ondalık sayılar için %.2f biçim belirteçleridir.

Bir dizeyi birden fazla değerle 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 şunu içerir:

Name: John, Age: 25

Ondalık sayıları belirtilen hassasiyetle biçimlendirin:

double price = 19.99;
String formatted = String.format("Price: $%.2f", price);

Yukarıdaki kodu çalıştırdıktan sonra, formatted şunu içerir:

Price: $19.99

challenge icon

Görev

Kolay

formatData adlı, dört argüman alan bir yöntem oluştur:

  1. Ürün adı için bir String (name)
  2. Ürün fiyatı için bir double (price)
  3. Miktar için bir integer (quantity)
  4. Çıktı biçimi türü için bir String (format)

Yöntem, verileri şu türlere göre biçimlendirmelidir:

  • "basic": "ITEM: {name}, PRICE: ${price}" döndür
  • "detailed": "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}" döndür
  • "total": "TOTAL FOR {quantity}x {name}: ${total}" döndür (total = price * quantity)

Tüm fiyatlar tam olarak 2 ondalık basamakla biçimlendirilmelidir.

Döndürülecek mesaj:

  • Herhangi bir girdi null ise veya biçim geçersizse: "Invalid input" döndür

Kendin dene

import java.util.Scanner;

public class Main {
    public static String formatData(String name, double price, int quantity, String format) {
        // Kodunuzu buraya 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));
    }
}
quiz iconKendini test et

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

Kendi başına pratik yap: Online Java derleyicisi