Проблема в том, что вы обновляете итератор i
в 2 местах.
Лучше всего обновить его в соответствии с условием.
Я бы также предложил вам использовать классов-оболочек для безопасных целочисленных преобразований и обработки исключений должным образом, как это сделано в следующем коде:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int sum = 0;
Scanner scanner = new Scanner(System.in);
for(int i = 1; i<=10; ){
System.out.println("Enter number #" + i + " ");
String input = scanner.nextLine();
try{
int num = Integer.parseInt(input);
sum += num;
i++; // If input is a valid integer, then only update i
}catch(NumberFormatException e){
System.out.println("Invalid Number");
}
}
System.out.println("Sum was " + sum);
scanner.close();
}
}