import java.util.Scanner;import java.util.ArrayList;/** * A class used to see if the numbers input can form a magic square. */public class Square{ /** * A constructor for the class Square. * @param aNumber The square's side length. */ public Square(int aNumber) { n = aNumber; n2 = n * n; a = new ArrayList<Integer>(n2); b = new ArrayList<Boolean>(); } /** * A method which adds a number to the square. * @param aNumber The number to add to the square. */ public void add(int aNumber) { a.add(aNumber); count++; } /** * A method to test whether or not the square is a magic square or not. */ public boolean isMagic() { for(int i = 1; i <= n2; i++) { boolean temp = a.contains(i); // check to see if numbers 1 - n2 are present b.add(temp); } // checking for the same entry twice is not needed because // if a did contain two of the same numbers, b would contain a false. if (count == n2 && !b.contains(false)) return true; else return false; } int n = 0; ArrayList<Integer> a; ArrayList<Boolean> b; int count = 0; int n2 = 0; public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Enter n:"); int n = in.nextInt(); while( n % 2 == 0 || n < 2) { System.out.print("n must be odd and greater than 1:"); n = in.nextInt(); } Square square = new Square(n); for (int k = 1; k <= Math.pow(n,2); k++) { System.out.print("Enter number: "); int p = in.nextInt(); square.add(p); } if (square.isMagic() == false) System.out.println("Your sequence cannot create a magic square."); else System.out.println("Your sequence can create a magic square."); }}