Kısaca açıklamak gerekirse, kullanıcının bir mesajın alıcısının ismini girmesini sağlayın ve sonra mesaj gövdesini girmesini sağlayın. , birden çok satıra sahip olabilir. Boş bir satır girerse, mesaj gövdesi sona erer ve anahtarda başka bir durum seçebilirler.(Java) Boş Satırla Geçiş Durumunda Döngü Çıkışından Çıkılıyor
case 'S':
case 's':
if(user.equals(" ")) {
System.out.println("No user logged in.");
} else {
System.out.println("Recipient: ");
recip = menuScan.next();
m = new Message(user,recip);
System.out.println("Enter message. Blank line to quit.");
mbody = menuScan.nextLine();
while(!mbody.equals("")) {
mbody = menuScan.next();
m.append(mbody);
}
ms.deliver(m);
System.out.println("Messgae sent.");
}
break;
Fakat şimdi olduğu gibi, while döngüsü tamamen atlanır. recip
'u menuScan.nextLine()
ve mbody
- menuScan.next()
ve .nextLine()
olarak değiştirmeyi denedim, ancak gerçekleşen diğer tek şey ileti gövdesinin sonsuza kadar sürmesidir.
Ayrıca, recip
ve mbody
için iki farklı Tarayıcı nesnesi kullanmayı denedim, ancak burada da şans yok.
Kullanım koşulları yerine – Gaktan
Olası yinelenen [Atlama nextLine()) (sonraki, nextInt() veya diğer nextFoo() yöntemleri kullandıktan sonra] (http://stackoverflow.com:
izlemeyi deneyin/sorular/13102045/atlama-sonraki-sonraki-sonraki-sonraki-sonraki-veya-diğer-sonraki-yöntem) –