我需要帮助来完成我读过的Java书中的一项任务。我需要创建一个using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace InspiringMagazines.Models
{
public class Magazine
{
public int magazineID { get; set; }
[MinLength(3),StringLength(20),Required(ErrorMessage = "The
Magazine Name is required.")]
[RegularExpression(@"[0-9][a-z'-]{3,20}")]
public string magazineName { get; set; }
[Display(Name = "Price per issue")]
[DataType(DataType.Currency)]
[Range(5.00,20.00)]
public double magazinePrice { get; set; }
}
}
的3维数组,该数组将能够存储30个值。
它被描述为包含立方体的长方体。每个多维数据集都应该是一个单元格,它们应该存储从int
到30
的整数。看起来怎么样?我尝试绘制它,但是对我来说很难。这是我尝试过的。
59
答案 0 :(得分:2)
您的3D阵列当前有31 * 30 * 30 = 27,900个单元。如果您需要一个包含30个单元的3D阵列,可以执行以下操作:
int tab[][][]=new int[5][3][2];
这将为您提供5 * 3 * 2 = 30个单元的3D阵列。 您可以想象方括号中的每个值都是长方体一侧的长度。
下一步将是:
int counter = 30;
for(int i = 0; i < tab.length; i++)
{
for(int j = 0; j < tab[0].length; j++)
{
for(int k = 0; k < tab[0][0].length; k++)
{
tab[i][j][k] = counter;
counter++;
}
}
}
这将填充数字从30到59的所有单元格。
答案 1 :(得分:0)
我认为以下代码可以帮助您理解任务。
您必须将3维视为一个多维数据集,该多维数据集包含网格,每个网格都有行,然后有多列)
(想象一个魔方,它有3层=网格,那么每个网格都有3行,而每行又有3列)
final int gridCount = 5;
final int rowCount = 5;
final int colsPerRow = 15;
final int[][][] cube = new int[gridCount][rowCount][colsPerRow];
for (final int[][] grid : cube) {
for (int col = 0; col < grid.length; col++) { //just to show the two different versions of 'for'
final int[] row = grid[col];
row[col] = 42+ col; //set it to whatever number
}
}