Posted By

balazs99 on 01/10/14


Tagged


Versions (?)

Primszam1


 / Published in: Java
 

isPrim, readInt, ArrayList

  1. package MintaVizsga;
  2. import java.util.*;
  3. /**
  4.  *
  5.  * @author Balazs
  6.  */
  7. public class PrimKereso {
  8. public static void main(String[] args){
  9. int[] szamok = new int[2];
  10. ArrayList primSzamok;
  11.  
  12. System.out.println("Prímszám kereső program");
  13. System.out.println("A két megadott szám között keresi meg a prímszámokat");
  14. System.out.println();
  15.  
  16. szamok[0] = readInt("Add meg az első számot: ");
  17. szamok[1] = readInt("Add meg a második számot: ");
  18.  
  19. System.out.println();
  20.  
  21. primSzamok = primSzamok(szamok);
  22.  
  23. if (primSzamok.isEmpty()){
  24. System.out.println("A két szám között nincs prím szám.");
  25. }
  26. else{
  27. System.out.println();
  28. System.out.println("A két szám között " + primSzamok.size() + " prím szám található:");
  29. for (int i=0 ; i <= primSzamok.size() - 2 ; i++){
  30. System.out.println(primSzamok.get(i));
  31. }
  32. System.out.println(primSzamok.get(primSzamok.size() - 1));
  33. }
  34.  
  35.  
  36. }
  37.  
  38. private static ArrayList primSzamok(int[] hatarSzamok){
  39. ArrayList result = new ArrayList();
  40. int nagyobbSzam = 0;
  41. int kisebbSzam = 1;
  42.  
  43. if (hatarSzamok[0] - hatarSzamok[1] < 0){
  44. nagyobbSzam = 1;
  45. kisebbSzam = 0;
  46. }
  47.  
  48. for (int i = hatarSzamok[kisebbSzam] ; i <= hatarSzamok[nagyobbSzam] ; i++){
  49. if(isPrim(i)){
  50. result.add(i);
  51. }
  52. }
  53.  
  54. return result;
  55. }
  56.  
  57. /**
  58.   * @return true, ha a szám Prím szám, False ha nem Prím
  59.   *
  60.   * @param szam A vizsgálandó szám
  61.   */
  62. private static boolean isPrim(int szam){
  63. for (int i=2 ; i <= Math.sqrt(szam) ; i++){
  64. if (szam%i == 0){
  65. return false;
  66. }
  67. }
  68. return true;
  69. }
  70.  
  71. private static int readInt(String uzenet){
  72. Scanner console = new Scanner(System.in);
  73.  
  74. System.out.print(uzenet);
  75.  
  76. while(!console.hasNextInt()){
  77. console.next();
  78. System.out.println("Nem egész számot adtál meg!");
  79. System.out.println("Adj meg egy másik számot.");
  80. System.out.print(uzenet);
  81. }
  82.  
  83. return console.nextInt();
  84. }
  85. }

Report this snippet  

You need to login to post a comment.