package hwk1; /* * Dylan Lewellyn: This is mine, and none shall have it. * 1/27/2014 */ public class hwk1 { public static void main(String[] args) { Integer[] input = {100, 37, -49}; boolean result1 = contains(input, new Prime()); boolean result2 = contains(input, new PerfectSquare()); boolean result3 = contains(input, new Negative()); System.out.println(result1); System.out.println(result2); System.out.println(result3); } static boolean contains(T[] input, Check c) { int lengthOfInput = input.length; boolean found = false; for (int i = 0; i < lengthOfInput; i++) { if (c.check(input[i])) { found = true; } } return found; } static class Prime implements Check { public boolean check(Number n) { boolean isPrime = false; int i = 2; if(n.intValue() < i){ isPrime = false; } for(; i < (n.intValue()) / 2; i++){ if(n.intValue() % i == 0){ isPrime = false; } } isPrime = true; return isPrime; } } static class PerfectSquare implements Check { public boolean check(Number n) { int i; for (i = 1; i <= n.intValue(); i++) { if (i * i == n.intValue()) { return true; } } return false; } } static class Negative implements Check { public boolean check(Number n) { if (n.intValue() < 0) { return true; } else { return false; } } } static interface Check { public boolean check(T input); } }