Problema com array

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]);
	}
}

}
[/code]

Veja bem cara: você digitou, no seu código, “maim”, quando o correto é “main”.

ERRADO: maiM

CORRETO: maiN

Blz? Boa sorte nos estudos… :wink:

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 =.

Acho q é soh isso! Vlw

É 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!