🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #956

Re: Ayuda a novato

#956
From: Oscar Garcia
Date: Sat, 04 Nov 2006 17:24
57 lines
2973 bytes
On Sat, 4 Nov 2006 12:15:21 +0100, "Gam" <gam@hotmail.com> wrote:
>    Acabo de empezar y tal vez este no sea el mejor sitio para encontrarme 
>con novatos como yo... alguna recomendaci�n?

Este es un buen sitio, estamos gente de todos los niveles de
conocimientos y con experiencia en distintas ramas :)

>Estoy siguiendo el libro 
>Thinking in Java, pero a veces tengo dudas de lo mas tontas, como por 
>ejemplo, al intentar imprimir parametros desde main no me sale. Un c�digo 
>como el siguiente me da error de "Exception in thread "main" 
>java.lang.ArrayIndexOutOfBoundsException"
>
>public class Exercise7
>    public static void main (String[] args){
>    System.out.println(args[1]);
>}

Eso se debe a que el segundo elemento (segundo par�metro de la l�nea
de comandos) del array args.

Acost�mbrate SIEMPRE a comprobar el contenido de un array antes de
intentar acceder a �l.

Para ello te recomiendo hacer uso de la propiedad "length", que se
encarga de comunicarte el tama�o del array:

public class Ejercicio7 {
     public static void main(String[] args) {
         if (args.length == 2) {
             System.out.println("Primer argumento: " + args[0]);
             System.out.println("Segundo argumento: " + args[1]);
         } else {
             System.out.println("Uso: java Ejercicio7 <arg1> <arg2>");
         }
    }
}

Como puedes ver, antes de acceder a los elementos 0 y 1 del array
"args" ��compruebo que �stos existan!! Es decir, compruebo que el
array tenga dos elementos (tal y como te han dicho, los elementos
empiezan por el n�mero cero).

Este fallo que has cometido, en otros lenguajes de programaci�n dan
lugar a distintos errores y salidas del programa. En el caso de C
podr�as incluso generar un "core dump", o volcado de memoria. Java
simplemente te informa del error con una excepci�n :)

>    Gracias,
>        Gam 

De nada.

-- 
�scar Javier Garc�a Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Technical Details
Message-ID: <sqipk29ike6h9376oiv3t5pgaunh1a21cf@4ax.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!news.germany.com!news.ecp.fr!appleseed.escomposlinux.org!cernicalo.escomposlinux.org!escomposlinux.org!not-for-mail
References: <aH03h.4218$T9.3991@news.ono.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,5548bb9983f5057b
X-Google-Attributes: gid1116f3,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!news.germany.com!news.ecp.fr!appleseed.escomposlinux.org!cernicalo.escomposlinux.org!escomposlinux.org!not-for-mail
From: Oscar Garcia <redstarQUITARSPAM23@terra.es>
Newsgroups: es.comp.lenguajes.java
Subject: Re: Ayuda a novato
Date: Sat, 04 Nov 2006 18:24:55 +0100
Organization: Ecolnet
Lines: 57
Message-ID: <sqipk29ike6h9376oiv3t5pgaunh1a21cf@4ax.com>
References: <aH03h.4218$T9.3991@news.ono.com>
NNTP-Posting-Host: 87.217.171.143
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: cormoran.emeteo.local 1162661099 3785 87.217.171.143 (4 Nov 2006 17:24:59 GMT)
X-Complaints-To: emeteo@escomposlinux.org
NNTP-Posting-Date: Sat, 4 Nov 2006 17:24:59 +0000 (UTC)
X-Newsreader: Forte Free Agent 3.3/32.846