|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2008
Messaggi: 58
|
[JAVA] Come mai mi stampa tre volte il System.out.println("...");?
Premetto che ho cominciato a studiare Java da manuale e comincio a fare qualche programmino stupido per il momento.
Come ambiente utilizzo Windows Xp e come compilatore Java utilizzo Eclipse. Allora ho creato un semplice programma che vi posto.. Codice:
class LeggiCar {
/*Il programma esce se viene inserito un '.' e conta anche gli spazi che eventualmente vengono inseriti. ATTENZIONE IL PROGRAMMA LEGGE UN SOLO CARATTERE ALLA VOLTA QUINDI O SPAZIO O '.' O CARATTERE QUALSIASI */
public static void main(String args[])
throws java.io.IOException {
char ch;
int sp = 0;
System.out.println("Inserisci il carattere . per terminare l'esecuzione");
ch = (char) System.in.read();
while (ch != '.'){
System.out.println("Inserisci il carattere . per terminare l'esecuzione");
ch = (char) System.in.read();
if(ch == ' ')
sp++;
}
System.out.println("Il numero di spazi inseriti è " + sp);
}
}
Come potete vedere dall'immagine ![]() Ho pensato che siccome Java utilizza un buffer a righe, quando premo invio lo conta come carattere e quindi non mi chiede conferma e stampa ulteriormente il messaggio poichè la variabile ch è diversa da '.' Non so più a cosa pensare visto che in ambiente MAC la stampa avviene 2 volte e quindi è concepibile per il motivo che ho gia spiegato. Qualcuno almeno è in grado di fare luce sulla questione? Grazie |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2008
Messaggi: 58
|
Non è sicuro quindi..?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
dovrebbe essere \n
__________________
My gaming placement |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Dec 2008
Messaggi: 58
|
Risolto..
/r/n sono i caratteri in più.. e quindi li conta come altri caratteri Si può chiudere |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Non so se si applica alle console, ma
\r\n Windows \n Linux \r Mac
__________________
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Dec 2008
Messaggi: 58
|
Ma c'è un modo per ovviare a questo problema?
Oppure no? non penso che non ci sia niente di RIPARATORE
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:16.





















