Erro de copilação , ou de execução?

Olá pesoal , sou estudante da Fatec ourinhos
e estou começando agora a estuda java , tenho uma prova no domingo !!!
eh o seguinte nas provas anterioires q eu estava vendo tem um codigo fonte assim :

(não sei como faço pra colocar o fonte num fundo azul com ovcs faem aki , depois vc me deh uma mão , sou novo e estou meio perdido)

public class Teste2 {

public static void main {){
	System.out.println("teste");
}		
}

}

ai vem as perguntas

a) o programa apresenta erros de copilação
b) o programa copila , mas dá erro de execução
c) o programa copila, executa e imprime “tete”
d) o programa copila, executa e não imprime nada
e)nehuma das alternativas

no gabarito fala q é a alternativa B
pra mim era a A

será q estou errado ??pq é a b ??

eh fiz no eclipse e esxecutei
olha a msg :

java.lang.NoSuchMethodError: main
Exception in thread “main”

vlwwww

A sintaxe correta para o método main em java é:

public static void main(String args[]){

}

Ou seja, ele espera um parametro do tipo array de String.

Por isso dá erro de execução e não de compilação.

Isso é, se o seu código estiver correto:

 public class Teste2 {

public static void main {){
System.out.println("teste");
}
}
} 

Aí da erro de compilação, mais acho que vc digitou errado, tá faltando o () antes do ‘{’

Se vc digitou certo a linha

public static void main {){
Não irá compilar.
o certo seria

 public static void main (){ 

Supondo que o vc digiotu incorretamente, ou seja o correto seria

 public static void main (){ 

Para que ele seja um metodo principal teria que ter a seguinte assinatura

 public static void main (String args []){

ai compilaria mas não teria erro de excução

entaum amgio , ta certinho , digitei do jeito q eta na prova !!!

ta dakele jeito msm

pram i msaber se copilou ou naum no eclipse como q faço ???
no dos eh facil percebe , e no ecplise ???ele deu essa msg ,eu axava q essa msg era de erro e copilação !!!

sou novato e to com duvidas , mas to entendo já !!!

obrigado pessoa !!!
t++

PERDÃO PESSOAL !!!

O CODIGO FONTE CERTO EH ASSIM :

public class Teste2 {

public static void main (){
System.out.println(“teste”);
}
}
}

NAUM TINHA REPARADO Q TINAH DIGITADO A CHAVE AO INVES DO PARENTESE

AGORA TA CERTINHO

MAS UMa COIsA , PRA ELE COPILAR ELE DEVERIA SER:

public static void main (string []args){

mas o parametro do metodo está vazio

Dessa forma a alternativa esta correta.

[quote]
b) o programa copila , mas dá erro de execução [/quote]
Ele não excuta pois não tem o metodo main correto

Famoso, do jeito que estava na prova o código complia.

O método main sem o parametro string args[] é um método como qualquer outro.

O que acontece é que, na hora de executar o código, a VM irá procurar dentro da sua classe um método main com o parametro String args[] (ou qualquer outro nome, desde que seja array de String).

Como no seu caso, não existe o parametro, a VM lança a exceção dizendo que não foi encontrado o método main.

Mais compilar, o código compila.

Sapulha

puts kra , esse explicação que eu estava kerendo !!!

vlw irmaum !!!

adorei sua explicação

Mesmo assim ta com uma } a mais… ai não compila

 public class Teste2 {

public static void main (){
System.out.println("teste");
}
}
}

para compilar e não executar teria que estar

 public class Teste2 {

public static void main (){
System.out.println("teste");
}

}