场景

定义一个学生类,包含字段(学号,姓名,语文成绩,数学成绩,英语成绩)、属性(总成绩)、三个方法分别为(求平均分、数学平均分、语文平均分)。

要求:在main()方法中,定义一个学生类型的数组,保存全班所有同学的信息,并通过控制台为每个同学输入字段(学号,姓名,语文成绩,数学成绩,英语成绩)的值,最后,控制台输出班级一共有多少个学生,各科及总分平均分分别为多少。

实验方法

1.        在控制台应用程序程序中编写代码,项目名为student。

2.        分析类的成员。

3.        编写类声明语句,包括字段、、属性、方法声明。

实验结果

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Student
{class Program{static void Main(string[] args){Console.WriteLine("请输入班级中学生人数:");int num = int.Parse(Console.ReadLine());Student[] stu = new Student[num];for (int i = 0; i < stu.Length; i++){stu[i] = new Student();//必须分别开辟空间            
       }int count=0;int sumShuxue=0;int sumYuwen=0;int sumYingyu=0;int sumScore=0;int avgShuxue,avgYuwen, avgYingyu, avgScore;for (int i = 0; i < stu.Length; i++){Console.WriteLine("请输入第{0}个学生的学号:", i+1);stu[i].Num = string.Format(Console.ReadLine());Console.WriteLine("请输入第{0}个学生的姓名:", i + 1);stu[i].Name = string.Format(Console.ReadLine());Console.WriteLine("请输入第{0}个学生的语文成绩:", i + 1);stu[i].Yuwen = int.Parse(Console.ReadLine());Console.WriteLine("请输入第{0}个学生的数学成绩:", i + 1);stu[i].Shuxue = int.Parse(Console.ReadLine());Console.WriteLine("请输入第{0}个学生的英语成绩:", i + 1);stu[i].Yingyu = int.Parse(Console.ReadLine());count++;}for (int j = 0; j < stu.Length; j++){sumYuwen = sumYuwen + stu[j].Yuwen;sumShuxue = sumShuxue + stu[j].Shuxue;sumYingyu = sumYingyu + stu[j].Yingyu;sumScore = sumScore + stu[j].Score;}avgYuwen = sumYuwen / count;avgShuxue = sumShuxue / count;avgYingyu = sumYingyu / count;avgScore = sumScore / count ;Console.WriteLine("一共有{0}名学生,班级语文平均分为{1},数学平均分为{2},班级英语成绩分为{3},总分平均分为{4}",count,avgYuwen,avgShuxue,avgYingyu,avgScore);Console.ReadLine();}}class Student{public string num;public string Num{get { return num; }set { num = value; }}string name;public string Name{get { return name; }set { name = value; }}int yuwen;public int Yuwen{get { return yuwen; }set { yuwen = value; }}int shuxue;public int Shuxue{get { return shuxue; }set { shuxue = value; }}int yingyu;public int Yingyu{get { return yingyu; }set { yingyu = value; }}public int Score {get { return yingyu + shuxue + yuwen; }  }}}

转载于:https://www.cnblogs.com/xiangyangzhu/p/4239806.html

对象数组空指针异常说明——C#中使用对象数组必须分别为其开辟空间相关推荐

  1. 多维数组和C#中的数组数组有什么区别?

    C#中的多维数组double[,]和数组数组double[][]什么区别? 如果存在差异,那么每个最好的用途是什么? #1楼 前言:此评论旨在解决okutane提供的答案 ,但是由于SO的愚蠢信誉系统 ...

  2. JAVA中一维数组的作用,JAVA中一维数组和二维数组的定义

    在java中数组被看成是一个对象 在定义数组时,有两种定义方法:int[] a 和int a[]:第二种是C/C++对数组定义方式,对于JAVA建议采用第一种定义方式. 总的原则:任何对象在被调用之前 ...

  3. swft c 语言 数组,如何在swift中实现数组的深拷贝

    在Objective-C中如果想将一个数组赋值给另外一个数组,同时想让两个数组之间相互独立(即改变其中的一个数组,不影响另外的一个),有很多的办法,比如我们可以直接copy,用类方法创建新数组.这样得 ...

  4. java数组删除元素_java中删除 数组中的指定元素方法

    java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例子. java的api中,并没有提供删除数组中元素的方法.虽 ...

  5. python定义数组并赋值_python中的数组赋值与拷贝的区别详解

    具体的注解我已经写在了程序里面:通俗的解释了python里面的浅拷贝与深拷贝的不同,请看程序. # -*- coding: utf-8 -*- import numpy as np import co ...

  6. 输出php数组结构,在PHP中输出数组结构使用 函数 。

    在PHP中输出数组结构使用 函数 . 更多相关问题 南京长江第三大桥是什么时候通车的?() 抗爆性可以判断汽油在发动机中燃烧是否易于发生不正常的(). 道岔尖轨.心轨.基本轨的爬行.窜动量不得超()m ...

  7. verilog中数组的定义_systemverilog中的数组操作

    sv中的数组基本操作:/* Exercsise platform :     Questa Sim 10.1b */ class Array; int array[9:0] ; function ne ...

  8. vue 监听map数组变化_vuex state中的数组变化监听实例

    前言 首先,因为我有一个需求就是vue组件中有一组多选框,选中多选框的内容,要在另一个组件中进行视图更新,这个就设计的兄弟组件之间的通信了,兄弟组件之前通信我首先选用的vuex这个解决办法. 问题 v ...

  9. matlab单元数组和结构,Matlab中单元数组和结构数组

    前言: 单元数组和结构数组是一种新的数据类型,能将不同类型.不同维数的数组组合在一起,从而方便对不同的数据类型方便管理和维护. 如上图所示的2*2矩阵中,分别存储着四种不同的数据类型,分别为数组.字符 ...

最新文章

  1. Spring Boot Admin 2.0开箱体验
  2. kafka Windows安装
  3. 如何成为一名数据中心运营工程师?
  4. android 内嵌地图,Android Fragment里嵌入高德地图【原创】
  5. Java高并发编程详解系列-Future设计模式
  6. Android系统层次结构及分析
  7. mac新建react脚手架
  8. FFmpeg实现音视频同步的精准片段拼接
  9. 深度学习-对抗神经网络简介
  10. php中in array函数_php中in_array函数的用法
  11. centos ipv6 网卡_centOS添加ipv6支持(仅限已分配ipv6地址和网关)
  12. 互联网日报 | 360企业安全更名“政企安全”;B站获欢喜传媒独家外部播放权;银联发布首款数字银行卡...
  13. 论治理与创新,2022 开放原子全球开源峰会 OpenAnolis 分论坛圆满落幕
  14. 打造健康的程序员-饮食篇
  15. 定时计数程序c语言,MCS-51系列单片机C语言编程定时/计数器程序模板
  16. 解决AndroidStudio中使用.9图片不生效的问题
  17. 《翻转课堂教学法》实施情况调查结果
  18. Mysql修改表中字段名称、字段类型
  19. 「解决方案」预付费水电及宿舍预付费云平台解决方案
  20. 神经网络 深度神经网络,深度神经网络应用实例

热门文章

  1. 网络营销外包——网站搜索框设计不同人群网络营销外包有不同设计
  2. 电商购物网站开发需要注意这些问题
  3. layui table行点击tr_layui框架table表格实现单击行选中checkbox功能
  4. java如何重新执行函数_java如何遍历执行方法/函数
  5. html中表单涉及的标记有哪几个,HTML学习笔记--表单标记
  6. 在Linux下gcc缺省编译,在Linux下GCC将文件合起来编译
  7. window 桌面开发_C#桌面开发的未来WebWindow
  8. char类型是多少 mat_OpenCV Mat数据类型及位数总结
  9. 开发日记-20190902 关键词 读书笔记《Unix环境高级编程(第二版)》DAY 7
  10. 开发日记-20190422 关键词 插件化(1)概述