练手 使用对象数组保存录入的学生信息

package com.neusoft.data20180717.zuoye;
/**
 * 学生类
 * @author 郭浩
 *
 */
public class Student {
    public String name;
    public int age;
    public String gender;
    

    public void sayHello(){
        System.out.println("大家好,我叫"+name+",性别:"+gender+",今年:"+age);
    }

}
 

******************************************************************************************************************

package com.neusoft.data20180717.zuoye;
/**
 * 
 * @author 郭浩
 *
 */
public class AddStudent {
    Student[] students = new Student[5];
    /**
     * 添加学生信息
     * @param student
     * @return
     */
    public Student[] addStu(Student student){
        for (int i = 0; i < students.length; i++) {
            //判断数组的当前位置是否为空,为空加入学生对象
            if(null==students[i]){
                students[i] = student;
                break;
            }
    
        }
        return students;
    }

}
*************************************************************************************************************************

 

package com.neusoft.data20180717.zuoye;

import java.util.Scanner;

/**
 * 学生测试类
 * @author 郭浩
 *
 */

public class StudentTest {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
        System.out.println("添加学生信息:");
        String answer = "";
        Student[] students = null;
        Student student =null;
        AddStudent addStudent = new AddStudent();
        
        do {
            
            student=new Student();
            System.out.println("请输入学生姓名:");
            student.name = input.next();
            System.out.println("请输入年龄:");
            student.age = input.nextInt();
            System.out.println("请输入性别:");
            student.gender = input.next();
            // 调用添加的方法
            
            students = addStudent.addStu(student);

        
            System.out.println("您确定要继续吗?y/n");
            answer = input.next();
            
        } while ("y".equals(answer));
        
        System.out.println("学生信息如下:");
        for (int i = 0; i < students.length; i++) {
            if(null!=students[i]){
                System.out.println("姓名:"+students[i].name);
                System.out.println("年龄:"+students[i].age);
                System.out.println("性别:"+students[i].gender);
            }
        }
    }

}

好的,我可以为您提供一个简单的示例代码,实现学生信息录入和读写任务。 首先,我们需要定义一个包含学生信息的结构体,例如: ```c struct Student { char name[20]; // 姓名 int age; // 年龄 int score; // 成绩 }; ``` 然后,我们可以定义一个结构数组来存储多个学生信息: ```c struct Student students[100]; // 最多存储 100 个学生信息 int count = 0; // 当前已存储的学生数量 ``` 接下来,我们可以实现一个录入学生信息的函数: ```c void addStudent() { if (count >= 100) { // 学生数量已达到上限 printf("无法添加更多学生信息!\n"); return; } struct Student s; printf("请输入学生姓名:"); scanf("%s", s.name); printf("请输入学生年龄:"); scanf("%d", &s.age); printf("请输入学生成绩:"); scanf("%d", &s.score); students[count++] = s; printf("学生信息添加成功!\n"); } ``` 这个函数会提示用户输入学生姓名、年龄和成绩,然后将输入的信息保存到结构数组中。 接着,我们可以实现一个读取学生信息的函数: ```c void printStudents() { printf("学生信息如下:\n"); for (int i = 0; i < count; i++) { struct Student s = students[i]; printf("姓名:%s,年龄:%d,成绩:%d\n", s.name, s.age, s.score); } } ``` 这个函数会遍历结构数组中保存学生信息,并将其打印出来。 最后,我们可以编写一个简单的主函数,来调用上面的两个函数: ```c int main() { while (1) { printf("请选择操作:\n"); printf("1. 添加学生信息\n"); printf("2. 查看学生信息\n"); printf("3. 退出\n"); int choice; scanf("%d", &choice); switch (choice) { case 1: addStudent(); break; case 2: printStudents(); break; case 3: return 0; default: printf("无效的选项,请重新选择!\n"); break; } } } ``` 这个主函数会不断提示用户选择操作,直到用户选择退出为止。 以上就是一个简单的使用结构数组实现学生信息录入和读写任务的示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值