Ciao a tutti,

sto realizzando un'applicazione client/server in cui il server manda dei messaggi al client, il quale deve rispondere immettendo dei dati in input.
Il problema sorge quando devo stampare i messaggi con il server, questo è il codice del mio server:
codice:
package server1;
import java.io.*;
import java.net.*;
import java.util.Scanner;

public class Server1 
{
    public Server1(int port)
    {
        this.port=port;
    }
    
    public void startServer() throws IOException
    {
        //PASSO 1:APRO PORTA TCP
        servSock=new ServerSocket(port);
        System.out.println("Server pronto sulla porta: "+port);
        
        //PASSO 2:ATTESA DELLA CONNESSIONE
        Socket sock=servSock.accept();
        System.out.println("Connessione con il client stabilita");
        
        //PASSO 3:APRO STREAM PER FARE I/O
        Scanner in=new Scanner(sock.getInputStream());
        PrintWriter out=new PrintWriter(sock.getOutputStream());
        
        //PASSO 4:FACCIO LA LETTURA E SCRITTURA NELLA CONNESSIONE
        out.println("Vuoi continuare? (Y/N)");
        out.flush();
        String line=in.nextLine();
       if(line.equals("Y"))
       {
            while(true)
            {  
                if(line.equals("N"))
                {
                    break;
                }else if(line.equals("Y")){
                    out.println("Immetti q");
                    out.flush();
                    String q=in.next();
                    out.println("q="+q);
                    out.flush();
                }
                out.println("Vuoi continuare? (Y/N)");
                out.flush();
                line=in.nextLine();
            }
       }
       
        //PASSO 5:CHIUDO STREAM E SOCKET
        System.out.println("Chiusura della connessione");
        in.close();
        out.close();
        sock.close();
        servSock.close();
        System.out.println("Connessione chiusa");
    }
    
    private int port;
    private ServerSocket servSock;
}
Adesso quando faccio out.println("Vuoi continuare? (Y/N)"); mi stampa il messaggio su una riga sola, in modo corretto.
Entrato nell'if, quindi nel ciclo while, le restanti out.println(); , mi vengono spezzate su più righe, ovvero esso stampa: Immetti, poi premendo invio mi stampa una riga vuota, poi premendo nuovamente invio mi stampa q, invece dovrebbe stampare come dato dalla out, direttamente "Immetti q" su un'unica riga.

Non riesco a capire dove possa essere l'errore.

Grazie a tutti per l'aiuto!