Java - Necesito ayuda con un código tiene un solo error pero no puedo arreglarlo

   
Vista:

Necesito ayuda con un código tiene un solo error pero no puedo arreglarlo

Publicado por Ayuda con un codigo spatriciobp4@gmail.com (1 intervención) el 24/12/2017 17:58:06
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.util.Scanner;
 
public class BuscarPrimo{
  public static void main(String args[]){
 
   Scanner in = new Scanner(System.in);
   int primorequerido = -1;
 
   System.out.println("Dame el # primo requerido");
   primorequerido = in.nextInt();
 
 
   while(primorequerido<=0){
 
   System.out.println("ERROR: Dame el # primo requerido nuevamente");
   primorequerido = in.nextInt();
   }
 
 
  if(primorequerido == 1){
     System.out.println("El numero primo #" + primorequerido + " es: " + "2");
   } else if(primorequerido == 2){
     System.out.println("El numero primo #" + primorequerido + " es: " + "3");
   } else {
 
   int respuesta = 0;
   int primos[] = new int[primorequerido];
   primos[0] = 2;
   primos[1] = 3;
   int probar = 3, numerodeprimosactual = 2;
 
     while(numerodeprimosactual < primorequerido){
     probar = probar + 2;
     int contador = 0;
 
            while(probar % primos[contador] > 0 || contador <= numerodeprimosactual || probar / primos[contador] > 1){
             if(contador == numerodeprimosactual - 1){
             primos[numerodeprimosactual] = probar;
             numerodeprimosactual = numerodeprimosactual + 1;
             } else {
               }
             contador = contador + 1;
             }
      }
     }
   System.out.println("El numero primo #" + primorequerido + " es: " + primos[primorequerido - 1]);
 }
}

%%este código de Java es para crear un arreglo con números primos, para luego dar como respuesta el numero primo pedido, hice el diagrama de flujo en raptor y funciono correctamente, pero no he podido probarlo en java porque tiene un error en la ultima linea, y no se porque, si alguien desea puede revisar el archivo de Raptor que lo dejare adjunto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Necesito ayuda con un código tiene un solo error pero no puedo arreglarlo

Publicado por Juan Francisco (57 intervenciones) el 25/12/2017 20:33:10
No entiendo muy bien los que quieres hacer el problema es que en el segundo bucle la variable numerosprimosactuales , llega a incrementarse y consigue accder a una posicion del array la cual no existe, por eso salta el error ArrayIndexBounds ...deberias de controlas que en el segundo bucle no accedire a una posicion que no existe..
Otro error de compilacion es que las variable de bloque no se pueden utilizar fuera del bloque es decir el array primos lo tienes que declarar fuera del else..para que sea una variable local.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad