Problema com Printf

Olá pessoal, eu estou tentando aprender java e estou usando o livro “java como programar” do Deitel. Eu estou usando o JCreator e estava tentando reproduzir um exemplo do livro, o codigo é o seguinte:

[color=blue]public class Welcome4
{
public static void main( String args[] )
{
System.out.printf( “%s\n%s\n”,
“Welcome to, Java programming!” );

}

}[/color]

Só que quando eu vou compilar ocorre o erro abaixo, e como estou começando agora não faço idéia do que possa ser. Será que alguém poderia me ajudar. Obrigado.

[color=red]--------------------Configuration: j2sdk1.4.2_15 --------------------
C:\Arquivos de programas\Xinox Software\JCreator LE\MyProjects\Scripts\Welcome4.java:8: cannot resolve symbol
symbol : method printf (java.lang.String,java.lang.String)
location: class java.io.PrintStream
System.out.printf( “%s\n%s\n”,
^
1 error

Process completed.[/color]

Formato certo:

public class Welcome4
{
    public static void main( String args[] )
{
    System.out.printf( "%s\n%s\n", "Welcome to", "Java Programing!");

}

} 

Se você perceber ali no printf existem dois %s que seriam dois argumentos string.
No seu código você juntou os 2 argumentos.Pode ver que se você criasse outras aspas.Ele iria funcionar

public class Welcome4
{
public static void main( String args[] )
{
System.out.printf( "%s\n%s\n",
"Welcome to, Java programming!", "Outro argumento" );

}

} 

É verdade, realmente estava errado, mas ao tentar fazer como vc falo ocorre esse outro erro:

[color=red]--------------------Configuration: j2sdk1.4.2_15 --------------------
C:\Arquivos de programas\Xinox Software\JCreator LE\MyProjects\Scripts\Welcome4.java:8: cannot resolve symbol
symbol : method printf (java.lang.String,java.lang.String,java.lang.String)
location: class java.io.PrintStream
System.out.printf( “%s\n%s\n”, “Welcome to”, “Java programming!” );
^
1 error

Process completed.[/color]

Estranho, aqui eu compilei e está certo.

Coloque o seu código inteiro aqui.

Puxa, vc esta usando j2sdk1.4.2_15 e o printf só surgiu no java 1.5 pois utiliza o recurso de varargs.

Use o println no seu caso e siga adiante,

http://java.sun.com/j2se/1.3/docs/api/java/io/PrintStream.html#println(java.lang.String)

Ou instale um JDK mais atual.

Não tinha percebido, já que também sou novato na linguagem.
Como tenho o jdk mais atual instalado e trabalhando com netBeans.Não tive esse problema na hora de compilar ^^

Então fica ai a primeira dica: sempre verifique a versão DE TUDO o que vc pode, pois esse tipo de coisa costuma acontecer com frequencia.

Imagine que vc esta desenvolvendo uma parada com uma biblioteca de versão 1.2.4 e, quando termina, ela é posta para executar num ambiente que tem a versão 1.0.3 – a chance de dar algo errado é BEM grande (a tal da lei de murphy…).

Agora desenvolver para uma versão mais antiga deve funcionar com uma versão mais nova (desde que seja stable) devido a questão de retrocompatibilidade).

Pessoal realmente era problema na versão do SDK. Após eu atualizar para a versão 1.5 o codigo compilou e executou direitinho. Obrigado pela força.

O comando “Printf” só está habilitado à partir da versão 1.5 mesmo…

e assim vc usa %s, %d etc… para cada conjunto " " e nao para cada frase que colocar dentro do " " veja:

...
System.out.printf("%s,%s", "Camilo", "lpjava");

e nao:

System.out.printg("%S,%s", "camilo, Lpjava");

flw!