System.out.printf
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:
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]
/* 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");
}
}
Paulo Cassiano
Curtidas 0
Melhor post
Vitor Pamplona
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)
GOSTEI 1
Mais Respostas
Paulo Cassiano
09/04/2009
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,
GOSTEI 0
Vitor Pamplona
09/04/2009
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
GOSTEI 0
Marcos Pereira
09/04/2009
[url=http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax]Format String syntax[/url]
valeuz...
GOSTEI 0
Marcos Pereira
09/04/2009
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:
GOSTEI 0
Marcos Pereira
09/04/2009
[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)
GOSTEI 0
Gregui Shigunov
09/04/2009
eu nunca usei essa função "printf", sempre usei "print" e "println".
lembro dessa função em C++
GOSTEI 0
Thiago Mello
09/04/2009
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]
GOSTEI 0
Marco Biscaro
09/04/2009
[quote="pcassiano"]
E como eu faço para 'identar' o código aqui no forum? :idea:
Use as tags "code", colocando entre colchetes:
texto formatado para código
posso identá-lo.
basta usar [code] onde começa o código
e usar GOSTEI 0
Carlos Heuberger
09/04/2009
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!
--------------------------------------------------------------------------------
[]]
GOSTEI 0
Roberto Tavares
09/04/2009
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.
GOSTEI 0
Carlos Heuberger
09/04/2009
[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]
[]]
GOSTEI 0