首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过输入改变2d数组?

如何通过输入改变2d数组?
EN

Stack Overflow用户
提问于 2012-09-22 22:34:04
回答 3查看 3.6K关注 0票数 1

我有一个由5行和5列组成的2D数组,所有的数组都填充了值0。我如何让我的程序做到这一点:

  1. 输入任意行和列的任意组合(如2-5 ),不要使用[]括号。只需输入2-5就足以使我的程序理解我指的是第2行第5列。
  2. 在行列组合中为所述数组分配值。

这就是我到目前为止得到的。如您所见,我只输出了所有数组元素的值。

代码语言:javascript
运行
复制
import java.util.*;

public class stink {

    public static void main(String[]args){
        int[][] kuk = new int[5][5];
        printMatrix(kuk);
    }

    public static void printMatrix(int[][] matrix)
    {
        for (int row = 0; row < matrix.length; row++)
        {
            for (int col = 0; col < matrix[row].length; col++)
                System.out.printf("%2d", matrix[row][col]);
            System.out.println();
        }
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-22 22:36:55

这不是一个复制/粘贴就绪的答案,但它至少应该给你一个指示,说明你如何处理这个问题。

代码语言:javascript
运行
复制
        int rows = 0;
        int columns = 0;
        Scanner scan = new Scanner(System.in);
        System.out.println("Rows: ");
        rows = scan.nextInt();
        System.out.println("Columns: ");
        columns = scan.nextInt();           
        int[][] kuk = new int[rows][columns];
票数 0
EN

Stack Overflow用户

发布于 2012-09-22 22:45:19

您应该使用java中的Scanner类从用户获得输入,如下所示。使用分隔符传递输入,例如,如果您希望2X3数组传递为2-3,其中'-‘是分隔符。下面是字符串扫描仪 java的链接。

代码语言:javascript
运行
复制
        Scanner sc = new Scanner(System.in);
    System.out.println("please enter two numbers");
    String inputs = sc.next();
    int a=Integer.valueOf(inputs.split("-")[0]);
    int b=Integer.valueOf(inputs.split("-")[1]);;
    System.out.println(a + " " + b);
    int[][] x = new int[a][b];
    System.out.println(x.length);
票数 2
EN

Stack Overflow用户

发布于 2012-09-22 22:37:37

代码语言:javascript
运行
复制
import java.util.*;
public class stink
{
    public static void main(String[]args)
    {
        int[][] kuk = new int[5][5];
        // Where x and y are keys, integer is the integer you want to push
        pushIntoMatrix(kuk, x, y, integer);
        //kuk = pushIntoMatrix(kuk, x, y, integer); // Use if you want the method to return a value.
    }
    public static void pushIntoMatrix(int[][] matrix, int x, int y, int integer)
    //public static int[][] pushIntoMatrix(int[][] matrix, int x, int y, int integer) // Use if you want to return the array.
    {
        matrix[x][y] = integer;
        //return matrix; // Use if you want to return the array.
    }
}

因为您知道,Java中任何不是原语的数据类型都是引用,将kuk数组传递到方法中将影响实际的数组引用。如果需要,可以在pushIntoMatrix()中设置返回,但不必这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12548230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档