Menu
Coddy logo textTech

String Formatting

Parte da seção Fundamentos do Journey de Java da Coddy — lição 69 de 73.

Em Java, String.format() é um método poderoso usado para criar strings formatadas. Ele permite combinar texto com variáveis de uma forma legível e personalizável. Este método usa especificadores de formato para definir como as variáveis devem ser inseridas na string.

A sintaxe básica de String.format() é:

String formattedString = String.format("format_string", arg1, arg2, ...);
  • format_string: Uma string que contém texto e especificadores de formato.
  • arg1, arg2, ...: As variáveis a serem inseridas no format_string.

Aqui estão alguns especificadores de formato comuns:

  • %s: Insere uma string.
  • %d: Insere um decimal (inteiro).
  • %f: Insere um número de ponto flutuante.
  • %b: Insere um valor booleano.
  • %c: Insere um caractere.
  • %n: Insere um caractere de nova linha.

Você também pode controlar a formatação ainda mais:

  • %.2f: Formata um número de ponto flutuante com 2 casas decimais.
  • %10s: Insere uma string, alinhada à direita dentro de um campo de 10 caracteres.
  • %-10s: Insere uma string, alinhada à esquerda dentro de um campo de 10 caracteres.
  • %03d: Insere um número inteiro, preenchido com zeros à esquerda até uma largura de 3 dígitos.

Aqui está um exemplo:

String name = "Alice";
int age = 30;
double price = 19.99;

String formatted = String.format("Name: %s, Age: %d, Price: %.2f", name, age, price);
System.out.println(formatted);
// Saída: Name: Alice, Age: 30, Price: 19.99

Neste exemplo, %s é substituído por name, %d por age e %.2f por price, formatado para duas casas decimais.

challenge icon

Desafio

Fácil

Crie um método chamado createFormattedString que receba os seguintes argumentos:

  1. Uma string productName.
  2. Um inteiro quantity.
  3. Um double unitPrice.

O método deve retornar uma string formatada que combine esses valores no seguinte formato:

Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]

Formate o unitPrice para cinco casas decimais e a quantity com uma casa decimal (converta-a para double).

Por exemplo, se productName for "laptop", quantity for 3 e unitPrice for 1299.9999, o método deve retornar:

Product: laptop, Quantity: 3.0, Unit Price: 1299.99990

Experimente você mesmo

import java.util.Scanner;

public class Main {
    public static String createFormattedString(String productName, int quantity, double unitPrice) {
        // Escreva seu código aqui
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String product = scanner.nextLine();
        int qty = scanner.nextInt();
        double price = scanner.nextDouble();
        String formattedString = createFormattedString(product, qty, price);
        System.out.println(formattedString);
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos