Como utilizar o hasNext?

Eu estou tentando usar o hasNext e não estou obtendo o resultado esperado. Eu entendo ele por “se tem próximo” ou “enquanto tem próximo” (me corrija se estiver errado). Estou tentando fazer um programa que receba idades e imprima a metade delas (programa simples só pra entender o conceito).Eu quero que o programa pare quando não houverem mais entradas do usuário (por exemplo, eu digito 3 números inteiros, eu quero que ele imprima a metade dos 3, um por vez, e depois pare, quando não houver mais um próximo). Já procurei videos no YouTube e não consegui entender bem ainda, alguém pode me ajudar? (Se possível, dizendo como se lê e qual o conceito). Desde já, agradeço!

Ps: Não é atividade da faculdade, eu que já devia ter aprendido isso antes mas só vim saber que existia ontem.

Scanner in = new Scanner (System.in);

	System.out.println("Digite a sua idade: ");
	int soQueroMarcar = 5;
	int y = 1;
	
	while(y!=0) {
		System.out.println("A metade da sua idade é: ");
		int x = in.nextInt();
		System.out.println(x/2);
		while(!in.hasNext()) {
			--y;
		}

Tentou ler a documentação?

The next() and hasNext() methods and their primitive-type companion methods (such as nextInt() and hasNextInt()) first skip any input that matches the delimiter pattern, and then attempt to return the next token. Both hasNext and next methods may block waiting for further input. Whether a hasNext method blocks has no connection to whether or not its associated next method will block.