Problema com array

3 respostas
M

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:

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

3 Respostas

Y

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

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)

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

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

Acho q é soh isso! Vlw

Y

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

Criado 7 de janeiro de 2007
Ultima resposta 7 de jan. de 2007
Respostas 3
Participantes 2