Tag: 多维数组

将字符串转换为多维数组

我有一个字符串: String stringProfile = “0, 4.28 10, 4.93 20, 3.75″; 我试图把它变成一个如下数组: double [][] values = {{FastMath.toRadians(0), FastMath.toRadians(4.28)}, {FastMath.toRadians(10), FastMath.toRadians(4.93)}, {FastMath.toRadians(20), FastMath.toRadians(3.75)}}; 其中FastMath.toRadians是每个元素的方法。 问题数量: 第一个合乎逻辑的做法是拆分字符串: List stringProfileList= Arrays.asList(stringProfile.split(” “)); 输出将是”0, 4.28, 10, 4.93, 20, 3.75” ,所以现在每个元素都被“,”而不是所有其他元素分开。 然后,对于列表中的每2个元素,我需要分配给一个数组。 在每个Array中,我在每个元素上应用FastMath.toRadians(),然后将每个数组附加到一个更大的多维数组。 这是正确的方法吗? 我正在坚持实施每2个元素。 我还需要将这些字符串元素转换为double,这似乎并不重要。

初始化2维对象数组时的ArrayIndexOutOfBoundsException

我有一个非常简单的问题,但我无法弄清楚为什么我有这个例外。 我正在尝试为数独谜题创建一个二维数组对象,但是当我初始化时,我得到的是ArrayIndexOutOfBoundsException 。 请帮助,我已经阅读了类似的问题,它应该工作! 这里我要声明网格(使用的二维对象数组和构造函数): public class Sudoku extends javax.swing.JFrame { private int lines; Cell[][] grid; public Sudoku() { initComponents(); grid = new Cell[lines][lines]; 所以,当我按下按钮设置线条(尺寸长度)时,如下所示 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { lines=10; makeGrid(lines); } 我得到了例外: Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 0 at Sudoku.makeGrid(Sudoku.java:146) public void makeGrid(int size) { for(int i=0;i<size;i++) for(int j=0;j<size;j++) { 146: grid[i][j] = […]

如何通过基数方向自由地遍历二维数组中的元素? (向下,向上,向左,向右)

这个问题是关于通过迷宫计算路径,如二维数组所表示的那样。 例如,通过这个迷宫的路径 0 1 2 3 4 ——— 0| 1 0 1 1 1 1| 1 0 0 0 1 2| 1 0 1 0 1 3| 1 1 1 0 1 4| 1 1 1 0 1 是 START: [0,1] Down: [1,1] Right: [1,2] Right: [1,3] Down: [2,3] Down: [3,3] Down: [4,3] 这张海报试图用递归的方式完成这个,并且实际上在五个小时内发布了四个不同的问题 – […]

行和列与多维数组java

我正在为我正在学习的高中课程制作/创建一个基于Java的游戏,它的逻辑正在逃避我。 我想要做的目标是制作一个游戏,在JPanel上随机生成一个24×24网格中的“地形”正方形(因为我发现它是最常见的绘制对象),所有这些都是在没有外部的情况下自己生成的(用户)帮助。 我通过“for”循环尝试这个,它将采用“coords [] []”并用值Ex:floor标记某个“虚构”位置。 但是当我运行它时它所做的就是在0,0处绘制第一个20×20的正方形。 现在我听说/读到Java中没有“多维”数组,例如Small Basic。 但我不明白数组内部的数组具体是什么。 关于这方面的一些解释将不胜感激。 此外,任何可以使我的程序更容易/更顺畅的替代建议都将非常受欢迎,因为我现在是一名新手程序员。 我已经在这些post中找到了我的问题的解决方案,但无济于事。 如何在java中创建动态二维数组? 如何在二维数组programmaticaly中插入值? 如何使用数字自动填充二维数组 如何使用Integers填充java中的二维ArrayList? Java中的ArrayList.toArray()方法 如何动态地将项添加到Java数组? 自动向数组添加元素 以下是应该为我执行此操作但当前失败的代码块: class gamePanel extends JPanel { public gamePanel() { setBounds(115,93,480,480); setBackground(Color.white); } private Random generator = new Random(); int floor = 0; //initializes the variable floor to zero for later use int dirt = 1; int […]

扫描输入而不将值存储在变量中

我正在声明一个包含100行和列的二维数组。 我试图让用户指定进入arrays的数字。 我应该存储值而不将它们存储在变量中。 这是我到目前为止,但我不认为这是正确的 public static void main(String[] args) { Scanner scan = new Scanner(System.in); int [][] nums = new int[100][100]; int digits; for (int i = 0; i < nums.length; ++i) { int[scan.nextInt()][scan.nextInt()]; }

java:如何使用.txt中的数据创建多个数组

所以这是我要编写的第一个真正的java程序。 我也是java的新手…… 程序必须使用2个命令行参数运行,这些参数假定为x和y坐标,然后确定坐标在哪个市和县。 为此,我想使用’绕组号’。 但是在我开始使用程序的那些部分之前,我首先需要创建并填充不同的数组,对吧? .txt文件包含以下内容:(所有地方和坐标都在荷兰顺便说一句)身份证号码县自治市。 例如: 0格罗宁根哈伦 1格罗宁根韭菜 前面的518行等等。 接下来的61650行是这样的坐标: 0 6.665039 53.181004 0 6.666431 53.180642 第一个整数(此处为0)与市政当局对应的位置 回到这个问题。 文本文件无法更改,我必须像cmd:java’programname'<filename.txt一样使用重定向(?)。 并且它应该读取整个文件,创建1个数组,其中只有id号全部为整数。 县里有一个阵列和一个市政阵列,对吧? 但是当数据在同一行时,我如何创建3个不同的数组(oke 2,1个整数数组和2个字符串数组)。 我想使用StdIn.readInt,StdIn.readString和StdIn.readLine,但我无法使其工作。 在此先感谢您的帮助。 这是我到目前为止,它给出了错误,因为(我认为这是因为这个)它期望读取一个整数,但在同一行上也有字符串.. public class test{ public static void main(String[] args){ int n = 519; Integer[] a = new Integer[n]; for(int i = 0; i < n; i++){ a[i] = StdIn.readInt(); […]

不同长度的二维数组(Java)

是否有机会在第二维中创建具有不同长度的二维arrays? 例如这样: [true] [true] [true] [真正] [true] [true] [true] [true] [true] 最好不要创建另一个类(如桶),也不知道数组的实际长度。

找到二维数组java的总和

我正在开发一个项目,我必须读取文件并将内容输入到2D数组中。 然后我必须对每行,每列和矩阵的周长求和。 到目前为止,除了周边外,我还有一切工作。 我正在尝试为两个外部列的顶行,底行和中间创建单独的for循环。 矩阵文件如下所示: 1 2 3 4 2 4 6 8 2 4 6 8 3 2 3 4 因此,周长应该加起来为42.现在我可以成功地将第一行和最后一行添加到等于22.但是,当我将列添加到该总数时,我得到32。 这是代码: import java.util.*; // Scanner class import java.io.*; // File class public class Lab10 { static public void main( String [ ] args ) throws Exception { if ( args.length != 1 ) […]

在3个二维数组中查找类似的行

在Java中解决以下问题的最佳方法是什么? 有3个具有相同行数和列数的二维数组: Array1: [1]: {1, 2, 3} [2]: {2, 2, 4} [3]: {1, 1, 1} Array2: [1]: {1, 2, 0} [2]: {1, 2, 3} [3]: {1, 0, 1} Array3: [1]: {1, 1, 1} [2]: {1, 2, 3} [3]: {1, 0, 1} 我需要找出所有数组中存在的行的索引 。 在上面的例子中答案应该是: [1],[2],[2] Array1 [1] :{1,2,3} Array2: [2] :{1,2,3} Array3: [2] :{1,2,3} 更新:有没有内置函数来做到这一点? […]

将字符串值转换为double类型的2d数组

我有一个字符串: String stringProfile = “0,4.28 10,4.93 20,3.75″; 我试图把它变成一个如下数组: double [][] values = {{0, 4.28}, {10, 4.93}, {20, 3.75}}; 我已经格式化了字符串以删除任何空格并用逗号替换: String stringProfileFormatted = stringProfile.replaceAll(” “, “,”); 所以现在String stringProfileFormatted = “0,4.28,10,4.93,20,3.75”; 然后我创建一个String数组: String[] array = stringProfileFormatted.split(“(?<!\\G\\d+),"); 因此,对于Array中的每个元素,每2个逗号值为字符串。 不知道如何转换成2d数组。 这是否是正确的方法呢?