Erro "Exception in thread "main" java.util.InputMismatchException"

Estou aprendendo Java agora e fiz um exercício, ai resolvi fazer uma coisa a mais colocando um método. Antes de eu implementar o método estava tudo ok, mas depois deu esse erro :confused:.
Aqui está o código:

//Calcular gastos em um filme
import java.util.Scanner;
public class Bollywood {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String item = " ";
        int total = sc.nextInt();//lê quantos itens serão calculados
        int soma = 0, gasto;
        for (int y = 0; y < total; y++){
            if(total == 0){//o critério de parada é quando o total de itens for zero
                break;
            }
            else{
                item = sc.next();//lê o nome do item
                VerifEsp(item);//chamo o método para verificar se tem algum espaço no nome do item
                gasto = sc.nextInt();//leio o valor 
                soma += gasto;
            }
        }
        System.out.println(soma);
    }
    public static void VerifEsp(String frase){//método para verificar se tem algum espcaço, o que nao pode
        for (int i = 0; i < frase.length();i++)
	{
            if (frase.charAt(i) == ' ')
            {
		System.out.println("Nao pode conter espacos");
            }
	}
    }
}

Ao usar o sc.nextInt() e for digitado algo que não seja um numero (int), será lançada essa exceção java.util.InputMismatchException.

1 curtida

Muito obrigado, ajudou bastante! <3