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 que você combine texto com variáveis de 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 na 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 em um campo de 10 caracteres.
  • %-10s: Insere uma string, alinhada à esquerda em um campo de 10 caracteres.
  • %03d: Insere um inteiro, preenchido com zeros à esquerda para 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);
// Output: Name: Alice, Age: 30, Price: 19.99

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

challenge icon

Desafio

Fácil

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

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

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

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

Formate o unitPrice com cinco casas decimais, o quantity com uma casa decimal (converta-o 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

Para extrair o primeiro caractere mantendo-o no tipo String em vez de tipo char, use: str.substring(0,1)

Folha de consulta

O método String.format() cria strings formatadas combinando texto com variáveis usando especificadores de formato.

Sintaxe básica:

String formattedString = String.format("format_string", arg1, arg2, ...);

Especificadores de formato comuns:

  • %s: String
  • %d: Inteiro
  • %f: Número de ponto flutuante
  • %b: Booleano
  • %c: Caractere
  • %n: Quebra de linha

Opções de formatação:

  • %.2f: Float com 2 casas decimais
  • %10s: String alinhada à direita em campo de 10 caracteres
  • %-10s: String alinhada à esquerda em campo de 10 caracteres
  • %03d: Inteiro preenchido com zeros à esquerda até 3 dígitos

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);
// Output: Name: Alice, Age: 30, Price: 19.99

Para extrair o primeiro caractere como uma string: str.substring(0,1)

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