Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-02-2012, 19:08   #1
Bestseller
Senior Member
 
Iscritto dal: Aug 2007
Messaggi: 476
[JAVA] Error: Array required, but ... found

Buonasera a tutti.
Ho un problema con il compilatore di Java che mi segnala un errore che non riesco ad interpretare.
Il programma che sto scrivendo consta di due file sorgente .java.
Il primo è MainClass.java ed è contenuto nella cartella "esercizio":
Codice:
package esercizio;

import java.io.*; 
import java.util.Scanner;

public class MainClass
{
	public static void main(String[] argv)
	{
	// Chiede all'utente le dimensioni 
	Scanner sc1 = new Scanner(System.in);
	System.out.print("Inserire la lunghezza: ");
	int x = sc1.nextInt();
	System.out.print("Inserire la larghezza: ");
	int y = sc1.nextInt();
	System.out.println("Parallelepipedo di dimensioni: " + x + " X " + y + " X 5");
	
	Parallelepipedo par1 = new Parallelepipedo(x,y);
	
        int a = 2;
        int b = 5;
	par1[a][b][1] = "prova";	
	}
}
Il secondo è Parallelepipedo.java ed è contenuto anch'esso nella cartella "esercizio":
Codice:
package esercizio;

public class Parallelepipedo
{
	private int lunghezza;
	private int larghezza;
	
	public Parallelepipedo(int a,int b)
	{
	lunghezza = a;
	larghezza = b;
	String[][][] griglia = new String[a][b][5];
	}
	
}
Quando tento di compilare i due file ottengo il seguente messaggio d'errore:
Codice:
MainClass.java:22: error: array required, but Parallelepipedo found
        par1[a][b][1] = "prova";
            ^
1 error
Qualcuno mi può dare un mano? Dove sto sbagliando?
Ciao e grazie.

Ultima modifica di Bestseller : 21-02-2012 alle 07:55.
Bestseller è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2012, 20:17   #2
__ZERO_UNO__
Member
 
L'Avatar di __ZERO_UNO__
 
Iscritto dal: Jul 2009
Città: Milano
Messaggi: 270
Per quello che hai scritto tu par1 è una variabile oggetto di tipo Parallelepipedo non un array quindi perchè dovresti usare l'operatore []?.
__________________

AMD PII x4 955 BE | Sapphire HD4850 Vapor-X 1 GB | Samsung SpinPoint F1 500GB | Samsung EcoGreen F4 2TB
Gigabyte GA-MA790FXT-UD5P | Fractal Design Define R3 USB3.0 Titanium Grey | CORSAIR 650W CMPSU-650TX
Noctua U12P SE2 | 2 x 2GB Kingston 1333 MHz | Samsung SyncMaster P2450 | Samsung SyncMaster T200

Ultima modifica di __ZERO_UNO__ : 20-02-2012 alle 20:19.
__ZERO_UNO__ è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2012, 08:02   #3
Bestseller
Senior Member
 
Iscritto dal: Aug 2007
Messaggi: 476
Scusami, il codice sorgente era leggermente diverso; ora l'ho corretto quindi ti chiedo se per favore puoi rileggerlo. Scusa ancora.

Ah, quindi non devo usare l'operatore []? Quello che volevo fare scrivendo:
Codice:
par1[a][b][1] = "prova";
era riempire l'oggetto, l'array tridimensionale, mettendo nel posto (2,5,1) la stringa "prova".
Quindi come dovrei fare per riempire l'array? Devo creare un metodo apposito in Parallelepipedo.java?
Grazie ancora e buona giornata.
Bestseller è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2012, 08:12   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
1) aggiungi in Parallelepipedo un campo di istanza "griglia";
2) aggiungi in Parallelepipedo un metodo per modificare il contenuto di "griglia";
3) nel costruttore di Parallelepipedo modifica la attuale dichiarazione di "griglia" in una inizializzazione del campo omonimo
4) in MainClass accedi e modifica la "griglia" di una istanza di Parallelepipedo tramite l'apposito metodo di istanza al punto 2.

Ora come ora il codice è sbagliato perchè:
1) nel costruttore di Parallelepipedo dichiari una variabile locale al metodo (String[][][] griglia = new String[a][b][5]) che quindi al termine del costruttore non esiste più.
2) hai applicato l'operatore [] ad un tipo che non è un array (par1 è di tipo Parallelepipedo).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 21-02-2012 alle 12:00.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Sovranità sui dati: AWS è ...
Il nuovo nome della distro Linux mobile ...
Due ventole da 220 mm e non solo: Cooler...
Truffa telefonica via Google Ads: il bro...
Google pensiona le Gems di Gemini: cosa ...
Flight 14: incertezza per un problema a ...
C'è un problema con i robot Tesla: i dip...
Raggi gamma anomali dalla Via Lattea sve...
NIO vende il 30% della divisione scambio...
Sony brevetta un DualSense capace di acc...
Un volto per l'assistenza IA: cosa pu&og...
NVIDIA autorizza un buyback da 150 milia...
Come il T-1000 di Terminator 2: circuiti...
Cloudflare: risolto il bug di memoria ch...
Lunex spegne gli antivirus con un driver...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v