The main problem you're having is you are checking if the sum is the same outside the for loop. I'd re-write it like this:
public boolean rowAndColumn(int tN)
{
int rowsum = 0, colsum = 0;
for(int i = 0; i < sq[0].length; i++)
{
for(int j = 0; j < sq[0].length; j++)
{
rowsum = rowsum + sq[i][j];
colsum = colsum + sq[j][i];
}
if(rowsum != tN || colsum != tN)
return false; //no point checking the rest if the sums doesn't match
rowsum = 0; //reset row count
colsum = 0; //reset col count
}
return true; //if it doesn't return by here, all the sums match
}
Edit: fullSquare also won't work as intended. Try something like this:
public boolean fullSquare()
{
int numcheck = 1;
boolean found = false;
while (numcheck < sq.length*sq.length)
{
for(int i = 0; i < sq.length;
for(int j = 0; j < sq.length; j++)
if(sq[i][j] == numcheck)
found = true;
if (!found)
return false; //if the number wasn't found, it's not a full square
found = false;
numcheck++;
}
//use nested for loops to loop through array sq.
//if the value in sq == numcheck, set found to true
//After the loop, check to see if numcheck was found
//if not found, return false, otherwise set found to false
//and increment numcheck to be ready to check the next number
return true;
}