Olá pessoal, tô tendo um problema com um código q eu escrevi. Eu tava resolvendo um problema do livro que pedia: q eu criasse um array com o tamanho do primeiro argumento passado ao chamar o programa. Caso o usuario n passasse argumento o array deveria ser de 10 elementos. O meu código compila sem problemas porém qnd eu vou tentar executar aparece a msg: Exception in thread “main” java.lang.NoSuchMethodError: main . Pelo que sei essa msg aparece qnd a classe q eu toh tentando chamar naum tem um método main. Procurei no google e apenas confirmei. Gostaria de saber se alguem sabe o q tah acontecendo? Abaixo segue o meu código:
[code]//Resolução do exercicio 7.15 da página 246
public class InitArray
{
public static void maim (String args[])
{
int tamanho; // variavel que contem o tamanho do array
// verifica se o usuário utilizou argumentos ao chamar a JVM
if (args.length>0)
tamanho = Integer.parseInt(args[0]);
else
tamanho = 10;
int array[]=new int[tamanho];
System.out.printf("%s%8s", "Indice", "Valor");
for (int c=0; c<=array.length; c++)
{
System.out.printf("%5d-%8\n", c, array[c]);
}
}
Veja bem cara: você digitou, no seu código, “maim”, quando o correto é “main”.
ERRADO: maiM
CORRETO: maiN
Blz? Boa sorte nos estudos…
public class InitArray
{
public static void main (String[] args)
{
int tamanho; // variavel que contem o tamanho do array
// verifica se o usuário utilizou argumentos ao chamar a JVM
if (args.length > 0)
{ tamanho = Integer.parseInt(args[0]); }
else
{ tamanho = 10; }
int[] array = new int[tamanho];
System.out.printf("%s%8s", "Indice", "Valor");
for(int c = 0; c <= array.length; c++)
{ System.out.printf("%5d-%8\n", c, array[c]); }
}
}
Cara vlw pela dica. Acho q aprendi a lição: antes d perguntar verificar se eu digitei certo (hehe). Ainda encontrei um errinho no código mas ja consegui arrumar. Vlw ms!! Aqui vai o código certo só p caso alguem tenha interesse (quem tah lendo java como programar esse é o exercicio 7.15)
[code]//Resolução do exercicio 7.15 da página 246
public class InitArray
{
public static void main (String args[])
{
int tamanho; // variavel que contem o tamanho do array
// verifica se o usuário utilizou argumentos ao chamar a JVM
if (args.length>0)
tamanho = Integer.parseInt(args[0]);
else
tamanho = 10;
int array[]=new int[tamanho];
System.out.printf("%s%8s\n", "Indice", "Valor");
for (int c=0; c<array.length; c++)
{
System.out.printf("%5d%8d\n", c, array[c]);
}
}
}
[/code]
Em relação ao código q eu passe inicialmente mudou:
-O métdo maim é main (com n) assim como Yky Mattshawn flou;
-Nas ultimas linha tah faltando um S no métdo printf: System.out.printf("%5d-%8\n", c, array[c]); sendo q o correto é System.out.printf("%5d-%8s\n", c, array[c]);
e no loop eu havia colocado for (int c=0; c<=array.length; c++) sendo q o certo é: for (int c=0; c<array.length; c++) sem o =.
É isso ae cara… letras são letras, a mais ou a menos, causarão erros! hehehe
Mas é como você disse, antes de postar um problema, é importante que se leia o código e tente detectar o erro. Após várias tentativas, aí sim se recorre ao fórum.
Mas estude, e não desista! Você vai ver que com o tempo esses erros de digitação vão diminuir.
Boa sorte e, com dúvidas, estaremos prontos a nos esforçar na ajuda!