首页 > 解决方案 > 如何创建具有两个矩阵的对象?

问题描述

我在理解我是否正确执行此操作时遇到了一些麻烦。

我必须构造一个包含两个二维矩阵的对象。问题是我觉得我没有正确理解对象是什么,所以我不知道我的代码是否正确。

我知道Cfiltering(int numberOfUsers, int numberOfMovies)我创建了另外两个对象变量的方法,因为它需要两个不同的矩阵。由于该方法是指Cfiltering类对象,它创建一个Cfiltering对象并包含两个矩阵。

这和构造一个包含两个二维矩阵的对象一样吗?

这是我的第一篇文章,所以如果我不清楚我在问什么,我很抱歉。:)

public class Cfiltering {
  private int userMovieMatrix[][];
  private float userUserMatrix[][];

  public Cfiltering() {
    userMovieMatrix = new int[1][1];
    userUserMatrix = new float[1][1];
  }

  /*
   * TODO:COMPLETE THIS I.E. APPROPRIATELY CREATE THE userMovieMatrix AND
   * userUserMatrix WITH CORRECT DIMENSIONS.
   */
  /**
   * Constructs an object which contains two 2d matrices, one of size
   * users*movies which will store integer movie ratings and one of size
   * users*users which will store float similarity scores between pairs of
   * users.
   * 
   * @param numberOfUsers Determines size of matrix variables.
   * @param numberOfMovies Determines size of matrix variables.
   */
  public Cfiltering(int numberOfUsers, int numberOfMovies) {
    // this is a 2d matrix of size users*movies
    userMovieMatrix = new int [numberOfUsers][numberOfMovies];
    // this is a 2d matrix of size users*users
    userUserMatrix = new float [numberOfUsers][numberOfUsers];
  }

标签: javaarraysmatrix

解决方案


一个快速的问题:这是你的整个代码段,因为如果是这样,你就少了一个分号。

二:为什么要创建两次 Cfiltering 方法。底部的那个(看起来像构造函数的那个​​)创建要运行的方法,因此在您的主代码中,只需调用该方法来创建一个 Cfiltering 对象。

这是一个运行它的示例,但如果您希望它更专业,请在上面附上您的代码。

Cfiltering demo = new Cfiltering(7, 7)

推荐阅读