作业可以抄 代码就不要抄了

本文通过实例讲解了Java中方法的使用场景,包括重复代码和复杂逻辑的处理,强调了方法和构造器在减少代码量和提高可读性上的作用。介绍了参数传递的值传递方式,以及方法和构造器的重载概念,帮助初学者理解这些基本概念。
摘要由CSDN通过智能技术生成

java零基础入门-面向对象篇(五) 类和对象 (下)

这次我们来详细说一下方法。

方法的使用场景

我们写代码为什么要方法?从上往下,像写文章一样去写不就好了,先干啥,后干啥,很好嘛,为什么要用方法呢?

首先,我们看代码和看文章是有些共同点的,比如文章很大一个特点是没有重复的。如果有篇文章,第一段“今天天气真好,阳光明媚,同学们都在操场上玩耍 ......”,好了,第二段开始 “今天天气真好,阳光明媚,同学们都在操场上玩耍 ......”,第三段开始“今天天气真好,阳光明媚,同学们都在操场上玩耍 ......”,你是不是很想跟作者见个面,嘘寒问暖一番?

我们的代码也一定要避免重复,如果一段代码里面,充斥着重复的相同的代码,会让人像看一篇重复的文章一样,索然无味甚至让人想跟你这个作者进行身体上的交流。在这方面,有些公司甚至是有硬性的规定的,一个类不允许超过多少行,一个方法不允许超过多少行,超过的部分想办法抽出来做成方法。有些复杂的逻辑也要尽量抽出来做成方法,这样代码的可读性会非常好。

所以我们的方法一般是用在

1 重复的代码    2 复杂的逻辑

这两种情况最多,当然还有一些特定的情况,比如对实体类做封装会有get࿰

在Python中,找出谁作业通常不是通过直接的代码处理,因为这涉及到个人隐私和数据保护问题,而且假设我们有一个包含学生姓名和作业提交内容的数据集。如果我们想要分析相似度,可以使用文本比较技术,如余弦相似度或Jaccard相似度来量化作业的相似性。 一种可能的方法是: 1. **预处理数据**:清理文本,去除标点、停用词等,将文本转化为小写或向量化形式(例如,TF-IDF或词袋模型)。 ```python import re from sklearn.feature_extraction.text import TfidfVectorizer def preprocess_text(text): # 清理和标准化文本 text = re.sub(r'[^\w\s]', '', text).lower() return text ``` 2. **计算相似度**: ```python from sklearn.metrics.pairwise import cosine_similarity def calculate_similarity(student_1, student_2, vectorizer): student_1_text = preprocess_text(student_1) student_2_text = preprocess_text(student_2) vectors = vectorizer.transform([student_1_text, student_2_text]) similarity = cosine_similarity(vectors)[0][1] return similarity ``` 3. **查找相似度高的作业**: ```python vectorizer = TfidfVectorizer() similarities = {student: calculate_similarity(student, 'reference_assignment', vectorizer) for student in students} highest_similarities = sorted(similarities.items(), key=lambda x: x[1], reverse=True) ``` 这里`students`是一个包含所有学生作业的列表,而'reference_assignment'是被视为原始参考作业的字符串。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值