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 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

challenge icon

Görev

Kolay

formatData adında bir yöntem oluşturun ki dört argüman alsın:

  1. Ürün adı için bir String (name)
  2. Ürün fiyatı için bir double (price)
  3. Miktar için bir tamsayı (quantity)
  4. Çı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:

  • %s dizeler için
  • %d tam sayılar için
  • %.2f 2 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));
    }
}
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