头歌--Java面向对象 - 类与对象

本博客详细讲解了Java中的类与对象的概念,包括类的定义、对象的创建、构造方法、This关键字、static关键字的使用。通过一系列的任务和实例,帮助读者深入理解和实践Java面向对象编程。
摘要由CSDN通过智能技术生成

目录

第1关:什么是类,如何创建类

任务描述

相关知识

编程要求

测试说明

第2关:构造方法

任务描述

相关知识

编程要求

测试说明

第3关:选择题(一)

任务描述

编程要求

测试说明

C   CD

第4关:This关键字

任务描述

相关知识

编程要求

测试说明

第5关:类与对象练习

任务描述

相关知识

编程要求

测试说明

第6关:static关键字

任务描述

相关知识

编程要求

第7关:选择题(二)

任务描述

编程要求

测试说明

D EG B

第1关:什么是类,如何创建类

任务描述

本关任务:创建一个类和一个对象,调用这个对象的属性和方法。

相关知识

为了完成本关任务,你需要掌握:1、什么是类和对象; 2、怎么定义类; 3、怎么创建对象并使用对象的属性和方法。

什么是类

类:类是一个模板,它描述一类对象的行为属性。 对象:对象是类的一个实例,有 属性行为

举个例子:

人是一个 "类",小明就是人的 "对象" ,女生/男生是一个类,你的女朋友/男朋友就是一个对象,这个对象的属性有:名字,性别,年龄;行为有:吃饭、睡觉、学习等。

在Java中对象的状态就是属性,行为通过方法体现,即Java中的对象一般由属性和行为组成。

<
好的,我明白了你的要求。以下是我为你设计的学生信息管理系统: ``` #include <stdio.h> #include <stdlib.h> #include <string.h> #define NAME_LEN 20 #define ID_LEN 10 typedef struct student { char id[ID_LEN]; char name[NAME_LEN]; int score; struct student *next; } student; student *create_list(); void print_list(student *head); void add_student(student *head); void delete_student(student *head); void search_student(student *head); int main() { student *head = create_list(); int choice; while (1) { printf("\n1. Add student\n"); printf("2. Delete student\n"); printf("3. Search student\n"); printf("4. Print list\n"); printf("5. Quit\n\n"); printf("Enter your choice: "); scanf("%d", &choice); switch (choice) { case 1: add_student(head); break; case 2: delete_student(head); break; case 3: search_student(head); break; case 4: print_list(head); break; case 5: return 0; default: printf("Invalid choice!\n"); } } } student *create_list() { student *head = (student *)malloc(sizeof(student)); head->next = NULL; return head; } void print_list(student *head) { student *p = head->next; printf("ID\tName\tScore\n"); while (p != NULL) { printf("%s\t%s\t%d\n", p->id, p->name, p->score); p = p->next; } } void add_student(student *head) { student *p = head; while (p->next != NULL) { p = p->next; } student *new_student = (student *)malloc(sizeof(student)); printf("Enter student ID: "); scanf("%s", new_student->id); printf("Enter student name: "); scanf("%s", new_student->name); printf("Enter student score: "); scanf("%d", &new_student->score); new_student->next = NULL; p->next = new_student; } void delete_student(student *head) { char id[ID_LEN]; printf("Enter student ID to delete: "); scanf("%s", id); student *p = head->next; student *prev = head; while (p != NULL) { if (strcmp(p->id, id) == 0) { prev->next = p->next; printf("Deleted student with ID %s\n", p->id); free(p); return; } prev = p; p = p->next; } printf("Student with ID %s not found.\n", id); } void search_student(student *head) { char id[ID_LEN]; printf("Enter student ID to search: "); scanf("%s", id); student *p = head->next; while (p != NULL) { if (strcmp(p->id, id) == 0) { printf("Found student:\n"); printf("ID:\t%s\nName:\t%s\nScore:\t%d\n", p->id, p->name, p->score); return; } p = p->next; } printf("Student with ID %s not found.\n", id); } ``` 这个程序实现了以下五个函数: 1. `create_list()`:创建一个链表,并返回头结点。头结点不存储有效数据,因此它的成员变量`next`初始化为`NULL`。 2. `print_list(student *head)`:遍历链表并打印出所有学生信息,包括ID、姓名和成绩。 3. `add_student(student *head)`:向链表末尾添加一个学生节点,并要求用户输入该学生的ID、姓名和成绩。 4. `delete_student(student *head)`:根据用户输入的学生ID删除链表中对应的学生节点。 5. `search_student(student *head)`:根据用户输入的学生ID查找链表中对应的学生节点,并打印出该学生的ID、姓名和成绩。 你可以根据这个程序的框架,在Begin-End之间进一步编写代码,实现一个基于链表的学生信息管理系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女主对此感到厌烦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值