学生类教师类java,java程序员
很多朋友对于学生类教师类java和java程序员不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
求助,java基础问题。。
haha,我帮你写,不够地方显示阿。点下面那个参考资料有完整答案拉
一、填空题(2*15=30)
1..class 2. javac java 3. 4,4,12 4 int i= 12
5. true flase 6.float[] floatAry={2.3, 7.5} 7.方法属性
8.abstract 9. jar myjava 10.inner
二、简答题(8*5=40)
1. Java的基本数据类型及其字节数。
byte 1个字节 short 2个字节 char 2个字节 int 4个字节 long 8个字节
float 4个字节 double 8个字节
2.什么是成员变量、局部变量,它们的作用范围分别是怎样的。
类体由2部分构成:一部分是变量的定义;一部分是方法的定义
在变量定义部分定义的变量叫做类的成员变量,成员变量在整个类中都有效.
(全局变量应该是成员变量的俗称)
在方法体中定义的变量叫做局部变量,局部变量只在定义它的方法中有效.
3.简述方法与变量的访问控制符及它们的访问情况。
变量和方法的修饰字public、protected、private, final, static
public:任何其他类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。
protected变量和方法:
如果一个类中变量或方法有修饰字protected,同一类、同一包可以使用。不同包的类要使用,必须是该类的子类,可以存取变量或调用。
private不允许任何其他类存取和调用,当子类中的变量名与父类的相同,原来的变量被遮盖。
final: final在方法之前,防止该方法被覆盖; final在类之前,标是该类不能被继承; final在变量之前,定义一个常量。
static:
在变量或方法之前,表明它们是属于类的;
静态变量在各实例间共享,如果是public静态变量,则其它类可以不通过实例化访问它们;静态方法称为类的方法,因此不用实例化即可调用(面向过程)
一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量;一个类的方法只能访问自己的局部变量。
4.继承使用的原则。
1)子类能够继承父类中被声明为public和protected的成员变量和成员方法;但是不能继承被声明为private的成员变量和成员方法;
2)子类能够继承在同一个包中的由默认修饰符修饰的成员变量和成员方法;
3)如果子类声明了一个与父类的成员变量同名的成员变量,则子类不能继承父类的成员变量,此时称子类的成员隐藏了父类的成员变量;
4)如果子类声明了一个与父类的成员方法同名的成员方法,则子类不能继承父类的成员方法,此时称子类的成员方法覆盖了父类的成员方法。
5.Java的异常处理机制及它的基本工作原理
Java通过面向对象的方法来处理例外。在一个方法的运行过程中,如果发生了例外,则这个方法生成代表该例外的一个对象,
并把它交给运行时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把它提交给运行时系统的过程称为抛弃(throw)一个例外。
运行时系统在方法的调用栈中查找,从生成例外的方法开始进行回朔,直到找到包含相应例外处理的方法为止,这一个过程称为捕获(catch)一个例外。
三、编程题(15*2=30)
1.
interface StudentInterface{
public abstract double getFee();
public abstract void setFee(double fee);
}
interface TeacherInterface{
public abstract void setPay(double pay);
public abstract double getPay();
}
public class Graduate implements StudentInterface, TeacherInterface{
private String name;
private char sex;
private int age;
private double fee;
private double pay;
public double getFee(){
return fee;
}
public void setFee(double fee){
this.fee= fee;
}
public double getPay(){
return pay;
}
public void setPay(double pay){
this.pay= pay;
}
public static void main(String args[]){
Graduate zhangsan= new Graduate();
zhangsan.setPay(11111);//年收入
zhangsan.setFee(123.3);//学费
if(zhangsan.getPay()- zhangsan.getFee()< 2000){
System.out.println(
求、急~~~学生学籍管理系统 java 源代码
# include<iostream.h>
# include<string.h>
# include<stdio.h>
# include<stdlib.h>
# include<fstream.h>
//*****定义一个学生原子的的数据结构*****//
struct stuatom
{
char*name;
int id;
char sex;
float math, eng, comp, totll, aver;
void show();
void setup();
};
//*********定义一系列对学生的操作**********//
class student
{
private:
stuatom ob[100];
int stulen;
public:
student();
void input();
void order();
void save();
void Query();
void read();
void add();
void del();
};
//********对学生数据的初始化(类的构造函数)**********//
student::student()
{
//用for循环对全部数组中的数据初始化
for(int i=0;i<100;i++)
{
ob[i].math=ob[i].eng=ob[i].comp=ob[i].totll=ob[i].aver=0;
ob[i].id=0;
ob[i].sex='';
ob[i].name=NULL;
}
this->stulen=0;
}
//********输入学生的数据,并判断是否在规定数据域内*******//
void stuatom::setup()
{
char n[20]; char s;
int b;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
do{
cout<<"学号:";
cin>>b;
if(b>1020||b<1001)
cout<<"Bad data input!!"<<endl<<endl;
}while(b<1001||b>1020);
id=b;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
do{
name=new char[strlen(n)+1];
cout<<"姓名:";
cin>>n;
if( strlen(n)>6|| strlen(n)<4)
cout<<"Bad data input!!"<<endl<<endl;
}while( strlen(n)>6&& strlen(n)<4);
strcpy(name,n);
cout<<"性别(m/f):";
cin>>s;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while(s!='m'&& s!='f')
{
cout<<"Bad data input!!"<<endl<<endl;
cout<<"性别(m/f):";
cin>>s;
}
sex=s;
float m, e, co;
cout<<"数学:";
cin>>m;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while(m<0|| m>100)
{
cout<<"Bad data input!!"<<endl<<endl;
cout<<"数学:";
cin>>m;
}
math=m;
cout<<"英语:";
cin>>e;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while(e<0|| e>100)
{
cout<<"Bad data input!!"<<endl<<endl;
cout<<"英语:";
cin>>e;
}
eng=e;
cout<<"计算机:";
cin>>co;
//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while(co<0|| co>100)
{
cout<<"Bad data input!!"<<endl<<endl;
cout<<"计算机:";
cin>>co;
}
comp=co;
totll=math+eng+comp;
aver=(math+eng+comp)/3;
}
//*******按照规定格式把该学生的数据显示在屏幕上******//
void stuatom::show()
{
cout.setf(ios::left);
cout.width(6);
cout<<""<<id<<"";
cout.width(8);
cout<<name;
cout.width(10);
cout<<sex;
cout.width(9);
cout<<math;
cout.width(9);
cout<<eng;
cout.width(11);
cout<<comp;
cout.width(10);
cout<<totll<<aver<<endl;
}
//**************输入学生的数据***********************//
void student::input()
{
int n;
cout<<endl<<"输入将要录入的学生数目:";
cin>>n;
int j;
//通过循环输入要求输入学生个数的学生的数据。
for(j=0; j<n; j++)
{
cout<<"输入学生信息"<<j<<endl;
ob[j].setup();
}
this->stulen=n;//学生个数赋值
//学生数据显示格式
system("cls");
cout<<endl<<"-----------------------------学生信息表------------------------------------"<<endl;
cout<<endl<<"学号姓名性别数学英语计算机总分平均分"<<endl;
//通过循环输出所有学生数据。
for(j=0; j<n; j++)
{
ob[j].show();
}
cout<<endl;
cout<<"是否保存?(Y/N):";
char Y;
cin>>Y;
system("cls");
}
//**************按照一定格式显示所要查询学生的信息。**************//
void student::Query()
{
int x, i;
cout<<endl<<"输入要查询学生的学号:";
cin>>x;
cout<<endl<<"学号姓名性别数学英语计算机总分平均分"<<endl;
for(i=0;i<=this->stulen;i++)
{ if(x==ob[i].id)
{
cout.setf(ios::left);
cout.width(6);
cout<<""<<ob[i].id<<"";
cout.width(8);
cout<<ob[i].name;
cout.width(10);
cout<<ob[i].sex;
cout.width(9);
cout<<ob[i].math;
cout.width(9);
cout<<ob[i].eng;
cout.width(11);
cout<<ob[i].comp;
cout.width(10);
cout<<ob[i].totll<<ob[i].aver<<endl;
}
}
getchar();
}
//*******************保存学生数据**************************//
void student::save()
{
int i;
ofstream outfile;
outfile.open("list.txt",ios::trunc);
if(!outfile)
{
cout<<"Cannot open output file!\n,";
}
//通过循环把所有的学生数据保存在list.txt里边。
for(i=0; i<this->stulen; i++)
{
outfile<<ob[i].id<<""<<ob[i].name<<""<<ob[i].sex<<""<<
ob[i].math<<""<<ob[i].eng<<""<<ob[i].comp<<""<<ob[i].totll<<""<<ob[i].aver<<endl;
}
outfile.close();
}
//*************显示所有学生数据*********************//
void student::read()
{
int i;
system("cls");
cout<<endl<<"-----------------------------学生信息表------------------------------------"<<endl;
cout<<endl<<"学号姓名性别数学英语计算机总分平均分"<<endl;
for(i=0; i<this->stulen; i++)
{
ob[i].show();
}
getchar();
}
//*******************一个学生的数据****************//
void student::add()
{
int i, d=this->stulen;
cout<<"输入要添加学生的信息:"<<endl;
ob[d].setup();
cout<<endl<<"-----------------------------学生信息表------------------------------------"<<endl;
cout<<endl<<"学号姓名性别数学英语计算机总分平均分"<<endl;
for(i=0; i<=d; i++)
{
ob[i].show();
}
ofstream fout("list.txt",ios::app);
if(!fout)
{
cout<<"Cannot open output file!\n,";
}
//把添加的学生数据添加到list.txt里边去。
fout<<ob[d].id<<""<<ob[d].name<<""<<ob[d].sex<<""<<
ob[d].math<<""<<ob[d].eng<<""<<ob[d].comp<<""<<ob[d].totll<<""<<ob[d].aver<<endl;
fout.close();
getchar();
}
//*********************删除指定名字学生的数据*******************//
void student::del()
{
int i,p; char x[8];
cout<<"输入要删除学生名字:"<<endl;
cin>>x;
//通过for循环查找要删除学生的姓名
for(i=0; i<stulen; i++)
{
if(strcmp(ob[i].name,x)==0)
{
p=i;
cout<<endl<<"学号姓名性别数学英语计算机总成绩平均成绩"<<endl;
cout<<ob[i].id<<""<<ob[i].name<<""<<ob[i].sex<<""<<ob[i].math<<""<<ob[i].eng<<""<<ob[i].comp<<""<<ob[i].totll<<""<<ob[i].aver<<endl;
break;
}
else
continue;
}
cout<<endl<<"-----------------------------学生信息表------------------------------------"<<endl;
cout<<endl<<"学号姓名性别数学英语计算机总分平均分"<<endl;
//删除了之后,应该把后面的数据往前移,把要删除的数据覆盖,并且学生长度减1
stulen--;
for(i;i<stulen;i++)
{
ob[i]=ob[i+1];
}
this->read();
cout<<"删除成功!"<<endl;
getchar();
}
//***********把学生成绩排序******************//
void student::order()
{
int k,j;
float t; char n[20];
//排序算法。
for(j= 0; j<=(2-1); j++)
{
for(k=1; k<=(2-j); k++)
{
if(ob[k].totll< ob[k+ 1].totll)
{
t= ob[k].totll;
ob[k].totll= ob[k+1].totll;
ob[k+1].totll= t;
strcpy(n, ob[k].name);
strcpy(ob[k].name, ob[k+1].name);
strcpy(ob[k+1].name, n);
}
cout<<"成绩排名:"<<endl;
cout<<"姓名总成绩名次"<<endl;
for(k=0; k<=stulen; k++)
{
cout<<"";
cout.setf(ios::left);
cout.width(9);
cout<<ob[k].name;
cout.width(9);
cout<<ob[k].totll<<k<<endl;
}
getchar();
}
}
}
//********************选择菜单。*****************//
void menu()
{
cout<<"\n\n";
cout<<"------------------学生成绩系统-----------------"<<endl<<endl;
cout<<"\t\t1.录入与保存学生信息.\n";
cout<<"\t\t2.读取学生信息.\n";
cout<<"\t\t3.删除学生信息.\n";
cout<<"\t\t4.追加学生信息.\n";
cout<<"\t\t5.查询学生信息.\n";
cout<<"\t\t6.显示成绩名次.\n";
cout<<"\t\t7.退出系统......\n\n\n";
cout<<"\t\t请选择功能项:";
}
//---------------------------------------------------------------------------------------
void main()
{
student a;
while(1)
{
int SEL;
system("cls");
menu();
cin>>SEL;
switch(SEL)
{
case 1:
system("cls"); a.input();a.save();break;
case 2:
system("cls"); a.read(); break;
case 3:
system("cls"); a.del(); break;
case 4:
system("cls"); a.add();break;
case 5:
system("cls"); a.Query();break;
case 6:
system("cls"); a.order();break;
case 7:
cout<<endl<<"按任意键退出...."<<endl;
getchar();
exit(0);
default:
cout<<"Bad input!!\n";
break;
}
}
}
java培训什么机构好
拓扑思睿Java培训。
1.看教学课程
学习Java技术,最主要是与时俱进,掌握的技术点能够满足时下企业的用人需求。而想要了解一家培训机构所提供的课程是否新颖,也可以去机构的官网上看看,了解自己想学习的学科的课程大纲。
看看学习路线图是如何安排的,有没有从零到一的系统搭建,是不是有强化实训、实操的比重,有尽量多的项目实战。因为企业对Java从业者的技术能力和动手实战能力要求较高。
2.看师资力量
因为Java开发技术知识的专业性很强,如果盲目去学很易走进误区。相反,有讲师带领,站在巨人的肩膀上,往往事半功倍。毕竟现在这个时代只要多跟别人交流才能获得更多更有价值的信息,初学者千万不能闭门造车。
3.看口碑
行业口碑比较好,学生对培训机构比较认可,这种机构把精力放在了学生身上的机构,才是做教育的应有态度。
4.看就业情况
以学生就业为目标的培训机构现在才是最主要的。要知道就业也是教学成果的体现,没有好的教学保证是做不到好的就业的。
5.上门免费试听
试听是为了更好地去感受培训机构的课程、讲课风格、班级氛围等,同时也能通过和班上在读同学进行交流,更进一步去了解这家培训机构各个方面是否符合自己的需要。
语言特点
1.简单性
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。
Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
2.面向对象
Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。
数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。
以上内容参考:百度百科-Java
好了,文章到这里就结束啦,如果本次分享的学生类教师类java和java程序员问题对您有所帮助,还望关注下本站哦!