Menu
Coddy logo textTech

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 String biçimlendirme, biçim belirleyicileri kullanarak biçimlendirilmiş dizeler oluşturmanıza olanak tanır. En yaygın olanlar dizeler için %s, tamsayılar için %d ve ondalık sayılar için %.2f şeklindedir.

Bir dizeyi birden çok değerle biçimlendirin:

String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);

Yukarıdaki kod yürütüldükten sonra, text şunları 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 şunları içerir:

Price: $19.99

challenge icon

Görev

Kolay

formatData adlı, dört bağımsız değişken alan bir yöntem oluşturun:

  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 bu türlere göre biçimlendirmelidir:

  • "basic": "ITEM: {name}, PRICE: ${price}" döndürür
  • "detailed": "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}" döndürür
  • "total": "TOTAL FOR {quantity}x {name}: ${total}" döndürü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ülü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