Estou iniciando meu aprendizado em JAVA, por isso peço ajuda de vcs, para o seguinte problema: estou tentando compilar a seguinte classe JAVA:-
[b]public class VerificaAnoBissexto{
public static void main(String[] args){
int ano = args[0];
int resto;
String mensagem = "O Ano ";
resto = (ano % 400);
if (resto == 0){
System.out.println(mensagem + ano + " e Bissexto.");
}
}
}[/b]
porem o compilador esta reclamando da linha 3 - int ano [color=red]=[/color] args[0]; - onde apresenta a seguinte mensagem:-
[b]Exercicio7.java:3: error: incompatible types
int idadeAluno = args[0];
^
required: int
found: String
1 error[/b]
Como posso resolver esse problema?
Sei que deve ser uma questão muito básica, e peço desculpas pela minha falta de conhecimento.
O erro é que você está tentando atribuir a uma variável numérica (int ano) um valor do tipo String (vetor String args[0]), aliás não há nem o porque de você mexer nos valores do parâmetro String[] args da função main.
P.S.: ao postar seu código fonte utilize a tag code.
InicianteJavaHenrique, se ele estiver rodando em modo texto ele pode querer pegar os parâmetros passados ao programa. Faz sentido neste caso, o usuário vai executar o programa e passar como parâmetro o ano.
Gutemberg_Miranda, como o colega falou, é um problema com tipos incompatíveis. Você deve fazer parsing do valor passado, algo como:
int i;
try {
i = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
System.out.println("falha ao fazer parsing");
}