Newsgroup: it.comp.java
Titolo: [NEWBIE] per capire dove sbaglio

Scusate se vi stresso con i miei problemi.
L'errore mi sembra  di capire che è alla riga 53
	cinemaserver a = new cinemaserver();
			// invio capienza
			outp.println(a.arraytot(capienza));
dove sbaglio?
<error>
C:\Programmi\Xinox Software\JCreator
LE\MyProjects\progettone\20031202bis\cinemaserver.java:53: 'void' type
not allowed here
</error>
<code>
//cinemaserver.java
// Questo è il nostro servitore cinema sulla porta 7777
//(permette le prenotazioni sulla base dei posti disponibili)
import java.net.*;
import java.io.*;
import javax.swing.*;
public class cinemaserver {
 
 
	void arraytot(int capienza) {
 
		int[] poltrone = new int [capienza];
		int i=0;
		for (i=0; i<capienza; i++){
			poltrone [i]=i+1;
			System.out.println (poltrone[i]);
 
		}
	}
 
	public static void main (String args[]) {
 
		String stringainserita
=JOptionPane.showInputDialog("Capienza del cinema:");
 
		//dichiariamo un intero e convertiamo il valore
scritto stringainserita in tale numero
		int capienza= Integer.parseInt (stringainserita);
 
		ServerSocket ss = null;
		try {
			// creazione ServerSocket su porta 7777
			ss = new ServerSocket(7777);
 
			// ciclo senza fine:
			while(true) {
 
 
				// attesa connessione e recupero
socket cliente
				Socket clientSock = ss.accept();
				System.out.println("cliente
connesso");
 
				// recupero stream di output
				OutputStream os =
clientSock.getOutputStream();
				PrintWriter outp = new PrintWriter(os,
true);
 
 
				cinemaserver a = new cinemaserver();
 
				// invio capienza
			outp.println(a.arraytot(capienza));
 
				// chiusura socket
				clientSock.close();
			}
		} catch (UnknownHostException e) {
			System.err.println("Host unknown");
		} catch (Exception e) {
			System.err.println(e);
		}
	}
}
</code>
--
Stucco
http://stucco.altervista.org

allora inizia ha creare la firma di arraytot in public void arraytot
il compilatore ti dice che cribbio stampo se arraytot torno un void o meglio
nulla??? deve tornar qualcosa altrimeti che cosa invia al writer?
Ciao
Ivan
"Stucco" <stu...@LEVAMIemail.it> ha scritto nel messaggio
news:3fcc8b4e...@news.tin.it...


 // Questo č il nostro servitore cinema sulla porta 7777


System.out.println (poltrone[i]) ci metti questa return poltrone [i]
Io ci ho provato ma mi ritorna altri errori... 
C:\Programmi\Xinox Software\JCreator LE\MyProjects\progettone\Nuova
cartella (2)\cinemaserver.java:17: incompatible types
found   : int
required: int[]
			return poltrone[i];
                                       ^
1 error
Process completed.
ecco il pezzo di codice incriminato, puň essere perchč return poltrone
[i] ritorna solo un numero, il primo delll'array? e quindi si blocca
per quello? se č cosě o se č per qualcos'altro, come devo fare?
public class cinemaserver {
	public int[] arraytot(int capienza)  
		{
		int[] poltrone = new int [capienza];
		int i=0;
		for (i=0; i<capienza; i++){
			poltrone [i]=i+1;
			return poltrone [i];
		}
 
	}
--
Stucco
http://stucco.altervista.org

 
Solo per l'errore di compilazione, del resto non m'impiccio...
tu ritorni un elemento del tuo array, un int quindi:
return poltrone [i];
mentre hai dichiarato che il metodo ritorna un array di int:
public int[] arraytot(int capienza) 
Inviato da 
www.mynewsgate.net


Ok fin qui ci siamo, come faccio a far ritornare tutto l'array che si
sviluppa con il ciclo?
scusate la mia ignoranza di programmazione è che sono proprio alle
prime armi.
--
Stucco
http://stucco
,
altervista.org

 prime armi.
Quando viene raggiunta una return il metodo, appunto, ritorna!
Poi devi tornare l'intero array, visto che mi dici che era questo quello che
volevi fare, e non un elemento. Come si chiama il tuo array?
La soluzione è semplice, ti ho detto molto, però sbattitici un pochino tu che fa
solo che bene!
Inviato da 
www.mynewsgate.net



si ci sono arrivato grazie... 
--
Stucco
http://stucco.altervista.org

 si ci sono arrivato grazie... 
OK! 
Inviato da 
www.mynewsgate.net