package homework1;
//author Kyle Fields
public class HomeWork1{
public static void main(String[] args) {
int [ ] 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(int[] array, Condition condition) {
return (condition(array));
}Написание содержит метод в Java
}
package homework1;
/**
*
* @author Kyle Fields
*/
public interface Condition {
boolean makeYourCondition(int[] input);
}
package homework1;
/**
*
* @author Kyle Fields
*/
public class Prime implements Condition {
@Override
public boolean makeYourCondition(int[] input) {
for (int n : input) {
if (n >= 2) {
if (n == 2) {
return true;
}
for (int i = 2; i <= Math.sqrt(n) + 1; i++) {
if (!(n % i == 0)) {
return true;
}
}
}
}
return false;
}
}
другие классы ниже
package homework1;
/**
*
* @author Kyle Fields
*/
public class PerfectSquare implements Condition {
@Override
public boolean makeYourCondition(int[] input) {
for (int i : input) {
//takes the square root
long SquareRoot = (long) Math.sqrt(i);
//multiplys the sqrt by the sqrt to see if it equals the original
if (((SquareRoot * SquareRoot) == i) == true){
return true;
}
}
return false;
}
}
package homework1;
/**
*
* @author Kyle Fields
*/
public class Negative implements Condition {
boolean Negative(int n){
if (n <= -1){
return true;
}
return false;
}
@Override
public boolean makeYourCondition(int[] input) {
for (int i : input) {
if(i<0) return true;
}
return false;
}
}
мой вопрос заключается в следующем, как я закончу этот код? Значение: что мне нужно сделать для моего метода? (в настоящее время он говорит мне, что условие метода (int []) не является допустимым методом в классе homework1.)
В вопросе эти методы не являются классами. Вот почему ваш учитель поместил их в «PascalCase». Предполагается, что вы выполняете инверсию шаблонов управления, а не методов hardcoding. Для представления о том, как это должно выглядеть, взгляните на [Guadi Predicate] (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/base/Predicate.html) и как он взаимодействует со своими [Утилитами коллекций] (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Iterables.html). –
Вы должны снова прочитать упражнение: вам необходимо создать класс 'Prime', а не метод' Prime() '. Все эти классы должны реализовывать общий интерфейс, например. 'Test', который определяет метод проверки того, соответствует ли данный int (или в упражнении 2, любой тип) тесту класса, например. для 'Prime' он проверяет, является ли число простым. – Njol
Вы не можете использовать 'new' с помощью метода. На самом деле, «Прайм» и другие должны быть классами! –