Zapętlenie while

0

Mam problem z pętla jak ponizej, warunek w try sie sprawdza i jest ok ,ale co jak podam np tekst i przejdzie do catacha? Tworzy sie neiskonczona petla nie wiem dlaczego? Jak rozwiazac ten problem. Prosze o pomoc w tej kwestii.

boolean temp = false;
			do
			{
				try{
				
				System.out.println("Podaj wiadomosc do wyslania");
				int data = scanner.nextInt();
				dataStream.writeInt(data);
				temp  = true;
				System.out.println(temp);
				break;
				}
				catch(InputMismatchException e)
				{
				temp = false;
				System.out.println(temp);
				
							
				}
			}while(!temp);
0

To pętla powinna być w try, a nie try w pętli.

0

mialem podobny problem do twojego , rozwiazalem go w taki sposob ze w bloku do,while tworzylem obiekt scanner. Ty raczej tworzysz go przed, ja to postrzegam w taki sposob ze wtedy zmienna "data" ma juz przypisana wartosc i z kazdym obiegiem petli wskakuje wyjatek.

0
int data = scanner.nextInt();
nextLine();//czyszczenie bufora klawiatury

1 użytkowników online, w tym zalogowanych: 0, gości: 1