Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - problema con array di stringhe
Forum - Java - problema con array di stringhe

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
alex1995 (Normal User)
Expert


Messaggi: 294
Iscritto: 27/01/2011

Segnala al moderatore
Postato alle 13:08
Sabato, 13/04/2019
sale, ho ancora probnlemi con gli array in java questo è un array semplice ma mi da errore questo è il mio sorgente:
Codice sorgente - presumibilmente Java

  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6.  
  7. /**
  8.  *
  9.  * @author Utente
  10.  */
  11. public class miacalasse {
  12.  
  13.     /**
  14.      * @param args the command line arguments
  15.      */
  16.     public static void main(String[] args)
  17.     {
  18.         String prova = "asd";
  19.         switch(prova)
  20.         {
  21.             case "asd":
  22.                 System.out.println("asd");
  23.                 break;
  24.             case "qwe":
  25.                 System.out.println("qwe");
  26.                 break;
  27.             default:
  28.                 System.out.println("asdasd");
  29.                
  30.         }
  31.         String[] pctable = {"monitor"};
  32.         for(int i = 0; i < pctable.lenght; i++)
  33.         {
  34.             System.out.println(pctable[i]);
  35.         }
  36.        
  37.     }
  38.    
  39. }



questo è l' errore:

Codice sorgente - presumibilmente Delphi

  1. Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
  2.   symbol:   variable lenght
  3.   location: variable pctable of type java.lang.String[]
  4.         at miacalasse.main(miacalasse.java:32)
  5. C:\Users\Utente\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
  6. BUILD FAILED (total time: 0 seconds)


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:20
Sabato, 13/04/2019
Il metodo è length non lenght


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 16:26
Sabato, 13/04/2019
Ti consiglio l'uso di un IDE.

Forse al momento il migliore e' IntelliJ , ma per iniziare uno vale l'altro.

In base a qullo che devi farci ti basta avere il JDK aggiornato, tanto per utilizzare le caratteristiche delle ultime versioni. Se è per un corso universitario, chiedi al prof. ti consiglio un ambiente uguale a quello dove poi svolgerai gli esami (in questo caso, attento anche alla librerie che scarichi, spesso nelle università si trovano solo quelle base).

Questo che hai fatto è uno di quegli errori che l'IDE ti scova subito, anzi mentre scrivi ti da pure l'autocompletamento consigliandoti i metodi che puoi usare.

PM Quote
Avatar
alex1995 (Normal User)
Expert


Messaggi: 294
Iscritto: 27/01/2011

Segnala al moderatore
Postato alle 17:38
Sabato, 13/04/2019
grazie ora funziona. proverò intellij ma io sto imparando java da autodidatta non vado all università e ho beccato un libro scarso xD.

ora ho questo sorgente:
Codice sorgente - presumibilmente Java

  1. /**
  2.  *
  3.  * @author Utente
  4.  */
  5. public class miacalasse {
  6.  
  7.     /**
  8.      * @param args the command line arguments
  9.      */
  10.     public static void main(String[] args)
  11.     {
  12.         String prova = "asd";
  13.         switch(prova)
  14.         {
  15.             case "asd":
  16.                 System.out.println("asd");
  17.                 break;
  18.             case "qwe":
  19.                 System.out.println("qwe");
  20.                 break;
  21.             default:
  22.                 System.out.println("asdasd");
  23.                
  24.         }
  25.         String[][][] pctable = {{"monitor"}, {"stampante"}, {"tastiera"}};
  26.         for(int i = 0; i < pctable.length; i++)
  27.         {
  28.             System.out.println(pctable[i]);
  29.             for(int x = 0; x < pctable[i].length; x++)
  30.             {
  31.                 for(int z = 0; z < pctable[x].length; z++)
  32.                 System.out.println(pctable[i][x][z]);
  33.             }
  34.         }
  35.        
  36.     }
  37.    
  38. }



e ho quest errore:

Codice sorgente - presumibilmente Java

  1. Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - incompatible types: java.lang.String cannot be converted to java.lang.String[]
  2.         at miacalasse.main(miacalasse.java:31)
  3. C:\Users\Utente\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
  4. BUILD FAILED (total time: 0 seconds)


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:48
Sabato, 13/04/2019
Scusa ma che stai combinando?

Volevi scrivere questo ?

Codice sorgente - presumibilmente Plain Text

  1. String[] pctable = {"monitor", "stampante", "tastiera"};
  2. for(int i = 0; i < pctable.length; i++)
  3.     System.out.println(pctable[i]);



oppure

Codice sorgente - presumibilmente Plain Text

  1. String[][] pctable = {
  2.                         {"monitor1", "stampante1", "tastiera1"},
  3.                         {"monitor2", "stampante2", "tastiera2"},
  4.                         {"monitor3", "stampante3", "tastiera3"}
  5.                      };
  6. for(int i = 0; i < pctable.length; i++)
  7. {
  8.     for(int j = 0; j < pctable[i].length; j++)
  9.         System.out.print(pctable[i][j] + " ");
  10.                        
  11.     System.out.println();
  12. }



... boh ... decidi tu

Ultima modifica effettuata da nessuno il 14/04/2019 alle 8:20


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
alex1995 (Normal User)
Expert


Messaggi: 294
Iscritto: 27/01/2011

Segnala al moderatore
Postato alle 9:32
Domenica, 14/04/2019
volevo scrivere il secondo grazie ma come mai 2 cicli for al posto di 3 come nell esempio del libro?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 10:26
Domenica, 14/04/2019
Quale libro? Quale esempio?

L'array è a 2 dimensioni, quindi 2 cicli


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 12:36
Domenica, 14/04/2019
Testo quotato

Postato originariamente da nessuno:

Quale libro? Quale esempio?

L'array è a 2 dimensioni, quindi 2 cicli



:-|

Lui ha messo una matrice a tre dimensioni


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:28
Domenica, 14/04/2019
Testo quotato

Postato originariamente da Ultimo:

Lui ha messo una matrice a tre dimensioni



E ha sbagliato dato che quello che voleva è un array a due dimensioni.

Il fatto è che parla di un libro e di un esempio di cui non si sa nulla.

Attenderemo una risposta.

Ultima modifica effettuata da nessuno il 14/04/2019 alle 14:40


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo