O livre - JAVA COMO PROGRAMAR 6ª EDIÇÃO - sugere na página 32 o exercício abaixo
public static void main(String[] args) {
System.out.printf("%s\n%s\n",
“Welcome to”,“java programming”);
Quando executo acontece
Exception in thread “main” java.lang.Error: Unresolved compilation problem: The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, String)
Como possuo instalados os jdk1.5.0 e jre1.5.0, não consigo descobrir o problema.
Gostaria da ajuda da comunidade.
Olá!! Bem vindo ao fórum!!! 
Cara, o código q tah no livro eh esse msm??
System.out.printf("%s\n%s\n",
"Welcome to","java programming");
Só vi coisa parecida em C… :roll:
Não seria:
System.out.printf("Welcome to\njava programming\n");
Você compilou com o Eclipse (3.1?) e você não especificou que era para usar o Java 5.0 no seu projeto. Por isso é que dá esse erro.
Se você usar o javac, por exemplo, ou então corrigir a configuração do projeto no Eclipse, não vai mais ocorrer o erro.
Menu Project -> Properties -> Java Compiler, clique [X] Enable project specific settings, JDK Compliance, escolha Compiler Compliance Level = 5.0.
[quote=“rindrusiak”]
Exception in thread “main” java.lang.Error: Unresolved compilation problem: The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, String)[/quote]
Por isso q eu gosto do Java, os erros sempre dizem o q vc precisa ouvir!! (exceto NullPointerException)
é só ler o q a mensagem tah dizendo, ou seja, “o método printf(String, Object[]) no tipo PrintStream não é compativel/aplicável aos argumentos (String, String, String)”
trocando em bytes, a chamada ao método deve ser feita assim:
System.out.printf("%s\n%s\n", new Object[] {"Welcome to","java programming"});
[quote=“Patty”]Dê um olhada na API…
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html
Abs[/quote]Complementando…
A classe na qual o método printf está descrito é essa:
http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintStream.html
Já nessa página tem um exemplo do uso:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html
Mas o estilo é igual ao usado rindrusiak:
// Writes formatted output to System.err.
System.err.printf(“Unable to open file ‘%1$s’: %2$s”,
fileName, exception.getMessage());
E o formatter tem o format com a mesma sintaxe do printf e tem um exemplo mais parecido com o usado no Deitel:
formatter.format("%4$2s %3$2s %2$2s %1$2s", “a”, “b”, “c”, “d”)
Pelo que entendi o que você fez teria que dar certo.
Outra forma de fazer seria ordenando (1$ é o primeiro, 2$ é o segundo):
System.out.printf("%1$s\n%2$s\n", “Welcome to”,“java programming”);
E se usar S ao invés de s o método já capitaliza as letras para você.