Fórum System.out.printf #565054

09/04/2009

0

Olá a todos. Estava estudando, 'futucando' o código do programa abaixo, quando me surgiram algumas dúvidas sobre o método 'System.out.printf'. Vejam:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* Programa de adição simples, baseado no programa "Addition.java" do livro do Deitel (6a edição, pág. 33);
   Criado em 12/03/06 */
 
import java.util.Scanner;
 
public class Adicao
{
    public static void main (String args[])
    {
        Scanner input = new Scanner (System.in);
 
        int numero1;
        int numero2;
        int soma;
 
        System.out.print ("\n");
 
        System.out.print ("Digite o 1o inteiro: ");
        numero1 = input.nextInt();
 
        System.out.print ("Digite o 2o inteiro: ");
        numero2 = input.nextInt();
 
        soma = numero1 + numero2;
 
System.out.printf ("A soma é: ", soma);    // Por que não funcionou?
 
/* O Deitel usa o método 'System.out.printf ("A soma e %d\n", soma);'
        1) Sou obrigado a usar "%d"?
        2) Por que outros métodos, como 'System.out.print' e 'println' não
           funcionaram corretamente? */
 
        System.out.print ("\n");
    }
}
E como eu faço para 'identar' o código aqui no forum? :idea: Um forte abraço a todos, [quote="[color=green][b]2010-01-21: mensagem editada por [i]simu[/i][/b][/color]"] [color=darkgreen]- adicionados os tags [b][co[/b][b]de][/b][/color]
Paulo Cassiano

Paulo Cassiano

Responder

Post mais votado

09/04/2009

1) Sou obrigado a usar "%d"? Sim, vc precisa indicar onde a tua variável soma vai ficar na String. 2) Por que outros métodos, como 'System.out.print' e 'println' não funcionaram corretamente? Assim eles não funcionam: System.out.print("A soma é: ", soma) Vc precisa colocar o operador de adição: System.out.printf ("A soma é: " + soma)

Vitor Pamplona

Vitor Pamplona
Responder

Gostei + 1

Mais Posts

09/04/2009

Paulo Cassiano

Beleza! O que não ficou claro pra mim é como usar esses caracteres, tipo "%d", pois a explicação do Deitel é muito prolixa... ALLguém pode me explicar melhor como essas coisas funcionam?? :roll: Um forte abraço a todos,
Responder

Gostei + 0

09/04/2009

Vitor Pamplona

na linha System.out.printf a string de parametro e montada de forma onde o %d e substituido por uma variavel apos a virgula System.out.printf ("Nome: %d", nome); saida: Nome: Victor ja nas System.out.print e System.out.println a string e montada atraves de concatenação, onde e normal por exemplo: System.out.print("Nome: " + nome + " Sobrenome: " + sobrenome); saida: Nome: Victor Sobrenome: Hugo
Responder

Gostei + 0

09/04/2009

Marcos Pereira

[url=http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax]Format String syntax[/url] valeuz...
Responder

Gostei + 0

09/04/2009

Marcos Pereira

boas estou agora aqui a começar em java e vi este tópic , ja que tabém estava com algumas duvidas sobre a matéria.... li mais um pouco e em vez de %d no caso exmplificado não seria s% para String só essa dúvida :neutral:
Responder

Gostei + 0

09/04/2009

Marcos Pereira

[quote="NoStress"]boas estou agora aqui a começar em java e vi este tópic , ja que tabém estava com algumas duvidas sobre a matéria.... li mais um pouco e em vez de %d no caso exmplificado não seria s% para String só essa dúvida :neutral:
exatamente! %d = formatado como decimal inteiro %s = formatado como texto (string)
Responder

Gostei + 0

09/04/2009

Gregui Shigunov

eu nunca usei essa função "printf", sempre usei "print" e "println". lembro dessa função em C++
Responder

Gostei + 0

09/04/2009

Thiago Mello

Sempre que usar o System.out.printf deve-se utilizar ou %d para inteiro, %s para String e %.2f para double. exemplo: String a = "Tal"; double b = 45.67; int c = 60; System.out.printf("%s - %.2f - %d\n", a, b, c ); O valor de [b]a[/b] foi passado para [b]%s[/b] O valor de [b]b[/b] foi passado para [b]%.2f[/b] O valor de [b]c[/b] foi passado para [b]%d[/b] Saida: Tal - 45.67 - 60[b][/b][b][/b]
Responder

Gostei + 0

09/04/2009

Marco Biscaro

[quote="pcassiano"] E como eu faço para 'identar' o código aqui no forum? :idea:
Use as tags "code", colocando entre colchetes:
1
2
3
4
texto formatado para código
    posso identá-lo.
    basta usar [code] onde começa o código
    e usar
[/code] onde acaba!
Responder

Gostei + 0

09/04/2009

Carlos Heuberger

Complementando, a mensagem acima ficaria: -------------------------------------------------------------------------------- Use as tags "code", colocando entre colchetes: [b][code[/b][b]][/b] texto formatado para código posso identá-lo. basta usar [color=black][code[/color]] onde começa o código e usar [b][/code][/b] [/code] onde acaba! -------------------------------------------------------------------------------- []]
Responder

Gostei + 0

20/01/2010

Roberto Tavares

Aproveitando o assunto... qual é o símbolo de tipo para formatar um long? %s --> string %c --> char %f --> float %d --> decimal inteiro E para um long, o que usar??? Obrigado e abraços.
Responder

Gostei + 0

21/01/2010

Carlos Heuberger

[quote="falecomroberto"]Aproveitando o assunto... qual é o símbolo de tipo para formatar um long? %s --> string %c --> char %f --> float %d --> decimal inteiro E para um long, o que usar??? Obrigado e abraços.
voce mesmo escreveu: "%d --> decimal inteiro" e o long é um decimal inteiro (mas não um [b]int[/b])! [i](OK, problema de nomenclatura)[/i] O [b]%d[/b] serve para todos os tipos inteiros: byte, Byte, short, Short, int, Integer, long, Long, e BigInteger [i](na verdade somente para os objetos (wrappers), mas os primitivos são convertidos por autoboxing)[/i] Veja a documentação do [url="http://java.sun.com/javase/6/docs/api/java/util/Formatter.html"]java.util.Formatter[/url] []]
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar