Article View: es.comp.lenguajes.java
Article #956Re: Ayuda a novato
From: Oscar Garcia
Date: Sat, 04 Nov 2006 17:24
Date: Sat, 04 Nov 2006 17:24
57 lines
2973 bytes
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-mailReferences:
<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