Purchase Solution

Java - Magic Square

Not what you're looking for?

Ask Custom Question

See the attached file.
Magic squares. An n × n matrix that is filled with the numbers 1, 2, 3, ... , n2 is a magic square if the sum of the elements in each row, in each column, and in the two diagonals is the same value. For example,

Write a program that reads in n2 values from the keyboard and tests whether they form a magic square when arranged as a square matrix. You need to test three features:
• Did the user enter n2 numbers for some n?
• Do each of the numbers 1, 2, ... , n2 occur exactly once in the user input?
• When the numbers are put into a square, are the sums of the rows, columns, and diagonals equal to each other?
If the size of the input is a square, test whether all numbers between 1 and n2 are present. Then compute the row, column, and diagonal sums. Implement a class Square with methods

public void add(int i)
public boolean isMagic()
Here is a sample program run:
Enter a sequence of integers, followed by Q:
16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
Q
It is a magic square.
Use the following class as your main class:
import java.util.ArrayList;
import java.util.Scanner;

/**
This class tests whether a sequence of inputs forms a magic square.
*/
public class MagicSquareChecker
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
Square sq = new Square();

System.out.println("Enter a sequence of integers, followed by Q: ");
while (in.hasNextInt())
{
sq.add(in.nextInt());
}

if(sq.isMagic())
System.out.println("It is a magic square.");
else
System.out.println("It is not a magic square.");
}
}
You need to supply the following class in your solution:
Square.

Attachments
Purchase this Solution

Solution Summary

Java magic squares are examined in the solution.

Purchase this Solution


Free BrainMass Quizzes
Basic Networking Questions

This quiz consists of some basic networking questions.

C# variables and classes

This quiz contains questions about C# classes and variables.

Basic UNIX commands

Use this quiz to check your knowledge of a few common UNIX commands. The quiz covers some of the most essential UNIX commands and their basic usage. If you can pass this quiz then you are clearly on your way to becoming an effective UNIX command line user.

C++ Operators

This quiz tests a student's knowledge about C++ operators.

Basic Computer Terms

We use many basic terms like bit, pixel in our usual conversations about computers. Are we aware of what these mean? This little quiz is an attempt towards discovering that.