Il testo chiedeva la somma dei primi N NUMERI PRIMI, non dei primi N numeri.

Per il primo esercizio potrebbe andare questo:

codice:
import java.io.*;
import java.util.*;

public class SommaNPrimi {
   public static boolean primo(int val) {
      boolean risultato = true;

      if ( (val == 1) || (val == 2) )
         risultato = true;
      else {
         int k=2;
         while (risultato && (k<val)) {
            if ((val%k) == 0)
               risultato = false;
            k++;
         }
      }
      return risultato;
   }

   public static int sommaPrimiValori(int valore, int numero) {
      int tmp = valore;
      if (numero == 0)
         tmp = 0;
      else {
         if (primo(valore))
            tmp = tmp + sommaPrimiValori( (valore+1), (numero - 1) );
         else
            tmp = sommaPrimiValori( (valore+1), numero );
      }
      return tmp;
   }

   public static int sommaPrimi(int numero) { return sommaPrimiValori(1, numero); }

   public static void main(String [] args) {
      InputStreamReader isr = new InputStreamReader(System.in);
      BufferedReader br = new BufferedReader(isr);
      String valore;
      int val;

      System.out.print("Intrudurre un valore: ");
      System.out.flush();
         try {
            valore = br.readLine();
            val = Integer.parseInt(valore);
            System.out.println("La somma dei primi "+val+" numeri primi è: "+sommaPrimi(val));
      } catch (NumberFormatException nfe) {
      	nfe.printStackTrace();
      } catch (IOException ioe) { ioe.printStackTrace(); }
   }
}
Il secondo te lo posto quando l'avrò fatto, comunque è MOLTO più semplice di questo.