Error en declaracion

Iniciado por BlackDawn, 29 Noviembre 2010, 05:43 AM

0 Miembros y 1 Visitante están viendo este tema.

BlackDawn

Mmm me podrian decir que estoy haciendo mal?

Código (java) [Seleccionar]

        String año[] = null;
        JFileChooser fc = new JFileChooser();
        FileNameExtensionFilter filter = new FileNameExtensionFilter("MP3", "mp3");
        fc.setFileFilter(filter);
        fc.setMultiSelectionEnabled(true);
        if (fc.showOpenDialog(fc) == JFileChooser.APPROVE_OPTION) {
            Archivo = fc.getSelectedFiles();
            for (int i = 0; i < Archivo.length; i++) {
                try {
                    lista.add(Archivo[i].getAbsolutePath());
                    String nombre[] = {Archivo[i].getName()};
                    año  = {objetoMusica.obtenerTags(Archivo[i].getAbsolutePath().toString())};
                    modelo.addRow(nombre);                   
                    objetoReproductor.cargarAudio(Archivo[puntero].getAbsolutePath());
                } catch (Exception ex) {
                    Logger.getLogger(Frame.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            modelo.addColumn("Año", año);
            jButton2.setEnabled(true);
            jButton4.setEnabled(true);
            jButton3.setEnabled(true);
            jButton5.setEnabled(true);
        } else {
            fc.cancelSelection();
        }
    }


Cuando le quiero dar los valores a año me marca un error de ";".
Y si declaro la variable año dentro del for no la puedo usar luego.

Debci

Código (java) [Seleccionar]
año  = {objetoMusica.obtenerTags(Archivo[i].getAbsolutePath().toString())};
Aqui quizás?
No lo veo muy claro, podrias especificarnos la linea que te da el error?

Saludos

1mpuls0

Hola

Código (java) [Seleccionar]
String año[] = null;
null?  :huh: y el tamaño?, nunca le asignas un tamaño.

Código (java) [Seleccionar]
año  = {objetoMusica.obtenerTags(Archivo[i].getAbsolutePath().toString())};

"{}":huh:

Te faltaron los corchetes
Código (java) [Seleccionar]
año[]

Debe ser algo como:

Código (java) [Seleccionar]
String año[] = new String[5];
Código (java) [Seleccionar]
año[i] = objetoMusica.obtenerTags(Archivo[i].getAbsolutePath().toString());

Saludos.
abc

Casidiablo

En estos caso es mejor usar una clase como Vector o ArrayList para almacenar valores. Algo que decía Darhius es que falta especificar el tamaño del arreglo. En tu caso sería algo como:

String año[] = new String[Archivo.length];

Aún así, los arreglos de este tipo son poco flexibles. Yo de ti usaría una lista:

List<String> años = new ArrayList<String>();
// luego para añadir valores en el ciclo
años.add(objetoMusica.obtenerTags(Archivo[i].getAbsolutePath()));


Por cierto, getAbsolutePath() retorna un String así que no hay necesidad de usar toString().