PROBLEMA: Erro: java.lang.ArrayIndexOutOfBoundsException

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 173788
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Tentativa de executar um aplicativo Java sem passagem de linha de comando ou argumentos do programa, como seu aplicativo Java espera, resulta no seguinte erro:
Erro: java.lang.ArrayIndexOutOfBoundsException
Causa
Isso ocorre porque quando o programa Java acessa o grupo "args" para os argumentos de linha de comando ou programa, ele tenta obter itens da matriz está fora das matrizes limites (o índice usado é maior do que o número de itens da matriz - 1).
Resolução
Para corrigir esse problema, você precisa passar argumentos de linha de comando ou argumentos do programa ao executar o programa Java que espera-los. A seção mais informações abaixo mostra como especificar argumentos de programa sob o IDE.

Você também pode colocar um bloco try-catch em torno do código que acessa os argumentos do programa. Este código deve capturar um ArrayIndexOutOfBoundsException.
Situação
Esse comportamento é por design.
Mais Informações
Ao executar o programa Java em IDE que espera de linha de comando ou argumentos do programa, você pode selecione configurações no menu Project, clique na guia Debug e selecione a categoria: programa argumentos para definir os argumentos do programa. Se você estiver usando Visual J ++ 1.0, em seguida, você pode selecione configurações no menu Build, clique na guia Debug e selecione a categoria: programa argumentos para definir os argumentos do programa.

Etapas para reproduzir o problema

  1. Crie um projeto de Java e incluir o seguinte trecho de código.
  2. O trecho de código a seguir foi extraído "Learn Now Java":
          import java.io.*;      class App1_2      {         public static void main(String args[])         {      // uncomment the next line to make the program catch the exception:      //  try {             int nMonth = Integer.parseInt(args[0]);          int nDay   = Integer.parseInt(args[1]);          int nYear  = Integer.parseInt(args[2]);          int nDayInYear = 0;          for (int nM = 0; nM < nMonth; nM++)          {           switch(nM)           {           case 4: case 6: case 9: case 11:              nDayInYear +=30;              break;           case 2:              nDayInYear +=28;              if (((nYear % 4) == 0) && ((nYear % 100) != 0))              {               nDayInYear++;              }              break;              default:              nDayInYear += 31;           }          }          nDayInYear += nDay;          System.out.print (nMonth + "-" + nDay + "-" + nYear);          System.out.println (" is day number "                  + nDayInYear                  + " in the year");         }      // uncomment this section to make the program catch the exception:      // } catch (ArrayIndexOutOfBoundsException e) {      //   System.out.println("This program takes 3 parameters: ");      //   System.out.println("  month day year.");      // }      }					
  3. Criar o projeto e execução-lo em IDE.
  4. O erro ArrayIndexOutofBoundsException aparece.
Referências
Para artigos da Base de dados de Conhecimento mais recentes e outras informações de suporte sobre Visual J ++ e SDK para Java, consulte a seguinte página no site do suporte técnico da Microsoft:

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 173788 - Última Revisão: 12/04/2015 17:50:35 - Revisão: 2.1

Microsoft Visual J++ 1.0 Standard Edition, Microsoft Visual J++ 1.1 Standard Edition

  • kbnosurvey kbarchive kbmt kbarttypeinf kberrmsg kbprb KB173788 KbMtpt
Comentários