C#中多维数组double[,]和数组数组之间有什么区别double[][]?
如果有差异,每个人的最佳用途是什么?
我在理解这段代码时遇到了问题:
int[] it = new int[][]{{1}}[0];
Run Code Online (Sandbox Code Playgroud)
为什么它是可编译的,我怎么能理解这样的声明?
可以像这样添加Java中的两个1维数组/向量:
public static int[] addVectors( int[] a, int[] b )
{
int[] c = new int[a.length];
for ( int i = 0; i < a.length; i++ )
{
c[i] = a[i] + b[i];
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
可以像这样添加Java中的两个二维数组/矩阵:
public static int[][] addMatrices( int[][] a, int[][] b )
{
int[][] c = new int[a.length][a[0].length];
for ( int i = 0; i < a.length; i++ )
{
c[i] = addVectors( a[i], b[i] );
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
这两个函数都要求数组具有相同的大小以避免出现问题arrayOutOfBoundsException …
在Java中你可以这样做
int[][] i = new int[10][];
Run Code Online (Sandbox Code Playgroud)
这只是创建 10 个空 int 数组吗?它还有其他影响吗?
我必须在java中输出Julian日历.我每个月都打印出来,但是我不确定如何确定每个月对应的行长度.例如,2月,4月,6月,9月和11月没有31天.到目前为止这是我的代码:
import java.text.DateFormatSymbols;
public class testing {
public void Day() {
System.out.println();
for (int i = 1; i <= 31; i++) {
System.out.println(String.format("%2s", i));
}
}
public void MonthNames() {
String[] months = new DateFormatSymbols().getShortMonths();
for (int i = 0; i < months.length; i++) {
String month = months[i];
System.out.printf(month + " ");
//System.out.printf("\t");
}
}
public void ColRow() {
int dayNum365 = 1;
int array [][] = new int[31][12];
System.out.println();
for (int col = 0; col < 12; col++) …Run Code Online (Sandbox Code Playgroud) 我正在做一些家庭作业,我不是在寻求如何解决它的帮助.出于某种原因,Eclipse强调了我的部分代码,表明出现了问题; 但没有提供像往常一样的建议.我有一段时间没有声明一个多暗的数组,所以虽然我确实谷歌了,但语法却没有.根据我得到的结果,它似乎是正确的.
这是我在谷歌上发现的:
对于本课程,我们使用的方法是感受周围的墙壁以找到要遵循的路径,并在ASCII迷宫中标记X的位置.#是墙,'.'是路径,'F'是终点.
public class Maze {
static char[][] tmp = new char [12][12];
//First element is Y values (because X and Y lines are perpendicular)
//First ROW (top)
tmp [0][0] = '#';
tmp [1][0] = '#';
tmp [2][0] = '#';
tmp [3][0] = '#';
tmp [4][0] = '#';
tmp [5][0] = '#';
tmp [6][0] = '#';
tmp [7][0] = '#';
tmp [8][0] = '#';
tmp [9][0] = '#';
tmp [10][0] = '#';
tmp [11][0] = …Run Code Online (Sandbox Code Playgroud) 我想知道如果可能的话,创建一定数量的相同大小的数组.非常感谢帮助.例如:我想创建10个具有相同数量元素的数组,而不必逐个创建它们:int[] a = new int[].希望现在更清楚了.
我在其中一条评论中提出的一个问题是+ - "我如何为列的行/列排序数组行".我想通了 - 也许有人会发现它很有用.
int[] sortarr = new int[5]; //create array to transfer data from row to new array
for (int i=0; i<N; i++){
for (int j=0; j<5; j++){
sortarr[j] = hands[i][j]; //transfer the data from 2D array's row to sortarr
}
Arrays.sort(sortarr); //sort the row's data
for (int x=0; x<5; x++){
hands[i][x] = sortarr[x]; //transfer the data back to 2D array
}
}
Run Code Online (Sandbox Code Playgroud)
也许这很明显,但我希望这会帮助那里的人.
我正在准备考试,这个问题我找不到答案.阅读一堆文章,我发现最接近
C#中的数组有三种形式:一维,多维矩形数组(如C++多维数组)和锯齿状数组(数组数组).
所以这表明C++中没有锯齿状数组,但它存在于Java中.另一件事是只有C#可以有非零数组下限(如[-1,3]或[4,9].它会被认为是不同的数组结构吗?
java ×7
arrays ×4
c# ×2
c ×1
c++ ×1
compilation ×1
eclipse ×1
recursion ×1
reflection ×1
sorting ×1