You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何构造含两个二维矩阵的Java对象?代码正确性验证

你的Cfiltering构造方法实现是正确的!

首先可以明确告诉你:你写的这个带参构造方法完全符合需求,确实构造出了包含两个指定尺寸二维矩阵的Cfiltering对象,你的理解和实现方向都是对的。

为什么这是正确的?

在Java中,一个类的对象就是该类的实例,它会包含类中定义的所有成员变量(属性)和方法。你的代码逻辑清晰准确:

  1. 先在Cfiltering类中声明了两个私有成员变量,明确了对象要承载的核心数据结构:
    • private int userMovieMatrix[][];:用于存储用户对电影的整数评分
    • private float userUserMatrix[][];:用于存储用户之间的浮点数相似度分数
  2. 在带参构造方法Cfiltering(int numberOfUsers, int numberOfMovies)中,你根据传入的参数精准初始化了两个二维数组:
    • userMovieMatrix = new int [numberOfUsers][numberOfMovies]; 创建了用户数×电影数的二维整数数组,完美匹配评分存储的维度需求
    • userUserMatrix = new float [numberOfUsers][numberOfUsers]; 创建了用户数×用户数的二维浮点数数组,完全对应相似度矩阵的维度要求

当你通过new Cfiltering(5, 10)这类代码创建对象时,这个新实例就会拥有这两个对应尺寸的矩阵,完全满足你“构造包含两个二维矩阵的对象”的需求。

小建议

  • 如果你后续需要给矩阵填充数据(比如读取用户评分、计算相似度),可以在类中添加对应的操作方法,比如setUserRating(int userId, int movieId, int rating)或者calculateUserSimilarities()
  • 无参构造方法中初始化了1×1的矩阵,如果你的业务场景不需要默认的最小尺寸矩阵,可以考虑移除这个无参构造,或者在注释中明确它的适用场景
public class Cfiltering { 
    private int userMovieMatrix[][]; 
    private float userUserMatrix[][]; 

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

    /**
     * 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]; 
    } 
}

内容的提问来源于stack exchange,提问作者Hasanul Banna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:53:00