怎样定义一个对象数组用于存储输入的学生数据

问题描述

编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。思路:   设计一个学生类Stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数,另有成员函数disp(),用于输出数据成员的值,另有一个静态成员函数avg(),它用于计算平均分。在main()函数中定义了一个对象数组用于存储输入的学生数据。这是我写的直接写了两个学生对象进去,现在想自己输入学生数据(包括学号,姓名和成绩),并保存在一个对象数组中,不知道对象数组如何定义,如何使用importjava.util.Scanner;classStud{intno;Stringname;intgeg;intsum;intnum;Stud(){}Stud(inta,Stringd,intm){no=a;name=d;geg=m;}voiddisp(){System.out.println("总分:"+sum);System.out.println("人数:"+num);System.out.println("平均成绩:"+avg());}intavg(){returnsum/num;}}publicclassTest{publicstaticvoidmain(String[]args){System.out.println("请输入人数:");Scannerp=newScanner(System.in);intn=p.nextInt();int[]number=newint[n];for(intj=0;j<n;j++){Scanners=newScanner(System.in);System.out.println("请输入成绩:");number[j]=s.nextInt();}Studa=newStud(20,"马甲",number[0]);Studb=newStud(20,"万科",number[1]);a.sum=a.geg+b.geg;a.num=2;a.disp();for(intj=0;j<n;j++){System.out.println(number[j]);}}}

解决方案

解决方案二:
不用数据库能存储吗?
解决方案三:
用ArrayList不就可以了嘛?Studa=newStud();然后吧读进来的数据赋给a中的成员,然后ArrayList<Stud>li=newArrayList<Stud>();li.add(a);

时间: 2024-08-22 22:17:39

怎样定义一个对象数组用于存储输入的学生数据的相关文章

iostream-求大神帮忙解疑/*创建一个结构数组,用于存储多个学生的学号、姓名、成绩。

问题描述 求大神帮忙解疑/*创建一个结构数组,用于存储多个学生的学号.姓名.成绩. /*创建一个结构数组,用于存储多个学生的学号.姓名.成绩.输出1:最高分学生的学号.姓名.输入2:所有学生的平均分*/#includeusing namespace std;struct student{ char num [40]; char name [40]; float score[40]; float ave;}; student stu; int main(){ //定义变量 int imaxinte

c++-C++中,定义的数组怎么由输入来确定维度

问题描述 C++中,定义的数组怎么由输入来确定维度 eg: int a[m][n]; 请问这个mn的值怎么通过用户输入来获取; 解决方案 int main(){ int n; int m; int **p = new int*[m]; for(int i = 0; i < m; i++) { p[i] = new int[n]; } return 0;} 解决方案二: 数组一般都是编译时分配内存,必须知道大小,否则编译器报错,如果程序需要运行时分配存储空间的话,用动态内存分配方法 解决方案三:

如何在.NET中定义一个变量用于存储多次运行一个页面进行的运算

问题描述 例如做一个工资计算器,同页面运行计算器,点击计算按钮3次,将每次合计的数保存下来,最后点击总计时出现3次合计总和.类似这种储存数据的变量怎么定义??? 解决方案 解决方案二:可用js或者隐藏的控件或者服务器缓存或者cookie之类的解决方案三:加入我要存储数据的是一个DATATABLE那怎么办....解决方案四:序列化...解决方案五:能不能给个例子..有点虚幻...

c 字符串输入-c语言中如何动态输入字符串而不需要事先定义字符数组大小

问题描述 c语言中如何动态输入字符串而不需要事先定义字符数组大小 如标题 c语言中如何动态输入字符串而不需要事先定义字符数组大小或为字符指针分配空间 解决方案 你这个要求实际使用度太低,或者说,完全没有必要非要这样去想. 解决方案二: c语言中字符串与字符数组c语言中的字符数组与字符串C语言 字符数组和字符串 解决方案三: 你这样定义好了char *p; 解决方案四: #include #include #include #define Step 10 //空间增加的步长. char * get

c语言-关于数组问题,定义一定长度数组,如何输入-1初始化结束

问题描述 关于数组问题,定义一定长度数组,如何输入-1初始化结束 如图第4题,如何输入-1初始化结束? 关于数组问题,定义一定长度数组,如何输入-1初始化结束 解决方案 如果用户输入有效长度为n,a[n十1]='\0'就可以了 解决方案二: 自己根据输入来判断,然后当是-1的时候,数组就不在保存新的数据,然后开始后面的逻辑 解决方案三: 用一个数表示数组实际输入的元素个数 遇到-1 结束输入(超过50也结束) 然后,就不用考虑输入的事情了,干活吧

Java千百问_06数据结构(014)_java数组如何存储在内存中

1.数组的内存空间是何时分配的 Java中的数组是用来存储同一种数据类型的数据结构,一旦初始化完成,即所占的空间就已固定下来,初始化的过程就是分配对应内存空间的过程.即使某个元素被清空,但其所在空间仍然保留,因此数组长度将不能被改变.  了解什么是数组看这里:java中的数组是什么  当仅定义一个数组变量(int[] numbers)时,该变量还未指向任何有效的内存,因此不能指定数组的长度,只有对数组进行初始化(为数组元素分配内存空间)后才可以使用.  数组初始化分为静态初始化(在定义时就指定数

详解PHP对数组的定义以及数组的创建方法_php技巧

传统上把数组(array)定义为一组有某种共同特性的元素,这里的共同特性包括相似性(车模.棒球队.水果类型等)和类型(例如所有元素都是字符串或整数)等,每个元素由一个特殊的标识符来区分,这称为健(key).请注意,上面这句话中的传统上一词,因为现在可以摒弃这种定义,数组结构中可以包括完全无关的元素.PHP则更进一步,数组中的元素甚至可以不属于同一种类型.例如,一个数组可能包含州名.邮政编码.考试成绩或扑克牌等元素. 每个实体包含两个项:前面提到的健(key)和值(value).可以通过查询键来获

Oracle定义联合数组及使用技巧_oracle

联合数组以前被称为PL/SQL表.在表中不能使用联合数组,只能将它们用作程序设计的结构体.只能在PL/SQL中访问联合数组. 注意到联合数组带来的一些关键问题是非常重要的.这些问题使我们介绍它们的用法时,需要采取一些特别的方法.这些问题包括: 联合数组不需要初始化,也没有构造函数语法.在对它们进行赋值以前,也不需要专门为其分配存储空间,也就不需要使用集合API的EXTEND方法. 在ORACLE 10G中,以及在ORACLE 10G以前的版本中,都可以使用数字索引联合数组.另外,在ORACLE

这里的array能否使一个对象数组名

问题描述 这里的array能否使一个对象数组名 template int getArrayLen(T& array)//使用模板定义一 个函数getArrayLen该函数将返回数组array的长度{ return (sizeof(array)/sizeof(array[0]));} 解决方案 应该是可以的.你不妨试试看.