java代码实现魔方阵 运用java二维数组打印魔方阵

【急】请问三道题目用java怎么做package reptile;
import java.util.Scanner;
public class TestMultiplyDemo
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
int n;
System.out.println("请输入魔方单行或者单列的值");
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
System.out.println("请输入魔方的每个位置的数值 以空格隔开");
sc = new Scanner(System.in);
String string = sc.nextLine();
int[][] m = new int[n][n];
System.out.println(string + "!!!!");
String[] strings = string.split(" ");
System.out.println(strings.length);
int k = 0;
boolean flag = true;
int minsum = (1 + n*n)*n/2;
for(int i = 0; in; i++){
int rowSum = 0;
for(int j = 0; jn; j++){
m[i][j] = Integer.parseInt(strings[k]);
k++;
rowSum += m[i][j];
}
if(rowSum != minsum){
flag = false;
}
if(!flag){
break;
}
}
for(int i = 0; in; i++){
int lineSum = 0;
for(int j = 0; jn; j++){
//m[i][j] = Integer.parseInt(strings[k]);
k++;
lineSum += m[j][i];
}
if(lineSum != minsum){
flag = false;
}
if(!flag){
break;
}
}
int X1Sum = 0;
int X2Sum = 0;
for(int i = 0; in; i++){
for(int j = 0; jn; j++){
//m[i][j] = Integer.parseInt(strings[k]);
k++;
if(i == j){
X1Sum += m[j][i];
}
if(i + j == n -1){
X2Sum += m[j][i];
}
}
}
if(X1Sum != minsum || X2Sum != minsum){
flag = false;
}
if(flag){
System.out.println("这个正方形是魔方阵");
}else{
System.out.println("这个正方向不是魔方阵");
}
}
}
魔方先提交了 我觉得这个最难
package reptile;
import java.text.DecimalFormat;
import java.util.Scanner;
public class TestGradeAdd
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
DecimalFormat df = new DecimalFormat("######0.00");
Scanner sc = new Scanner(System.in);
System.out.println("请输入你 要输入个加数个数");
int n = sc.nextInt();
int[] m = new int[n];
double sum = 0;
for(int i = 0; in; i++){
m[i] = sc.nextInt();
System.out.println("输入" + m[i]);
double temp = getResult(m[i]);
df.format(temp);
sum += temp;
}
System.out.println("最后的结果是" + sum);
}
public static double getResult(int n){
double sum = 0;
for(int i = 1; i = n;i++){
double temp = 1.0/i;
sum +=temp;
}
return sum;
}
}
1+(1+5)+(1+5+8)+……(3*n-1)用Java实现?分析表达式规律:
当 n=1 时,表达式为 1 ;
当 n=2 时,表达式为 1+(1+(3*2-1))=1+(1+5);
当 n=3 时,表达式为 1+(1+5)+(1+5+(3*2-1))=1+(1+5)+(1+5+8);
第一个数为 1,从第二数开始 , 该数为(前一个数+(3*n-1) (n=2)),然后再累加所有数 。
参考代码如下:
public class MathExp {
public static void main(String[] args) {
System.out.println(exp(3));
}
public static int exp(int n){
if(n0) return 0;
int res = 0; // 累计总和
int num = 1; // 第一个数为 1,从第二个数开始是 num + 3*n-1
for(int i = 1; i = n; i++){
if(i == 1){
res = num;
}else {
num += 3 * i - 1; // 第 n 个 数
res += num; // 累加第 n 个 数
}
}
return res;
}
}
java求解n阶魔方矩阵//进行数组java代码实现魔方阵的打印
public static void print(int[][]k){
for(int i=0;ik.length;i++){
for(int j=0;jk[i].length;j++){
if(k[i][j]!=0){
System.out.print(k[i][j]);

推荐阅读