华南农业大学2015农科Java上机实验
华南农业大学2015农科Java上机实验【精选文档】
实验1 创建、编译和运行Java程序17268 计算两个整数的和从键盘输入两个整数,计算并输出两个整数的和。
import java。
util.Scanner;public class Main {public static void main(String[]args){int a,b;Scanner input = new Scanner(System.in);a=input.nextInt();b=input。
nextInt();int c = a + b;System.out。
println(c);}}17269 输出两个整数中的较大的值从键盘输入两个整数,判断并输出两个整数中较大的值.import java.util。
Scanner;public class Main {public static void main(String[]args) {int a,b;Scanner input = new Scanner(System。
in);a=input.nextInt();b=input。
nextInt();if(a〉b)System。
out.println(a);elseSystem.out.println(b);}}实验2 基本数据类型、运算和表达式18135 在显示屏上显示指定字符要求编写一个程序,在显示屏上显示如下内容.注:类名必须为Main(大写M) C:\ABC.TXT is "file”public class Main {public static void main(String[]args){System。
out。
print(”C:\\ABC.TXT is \”file\"");}}18136 计算圆的面积由键盘输入圆的半径,计算并输出圆的面积,结果保留2位小数。
注:类名必须为Main(大写M)import java.util。
Scanner;import java.text.DecimalFormat;public class Main {public static void main(String[]args) {double a,b,c;Scanner input = new Scanner(System。
Java上机实验指导
《Java语言程序设计》上机实验指导手册实验一 Java环境演练【目的】①安装并配置Java运行开发环境;②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序;③掌握开发Java Applet程序的3个步骤:编写源文件、编译源文件和运行Java Applet 程序;④学习同时编译多个Java源文件。
【内容】1.一个简单的应用程序✧实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}✧实验后的练习:1.编译器怎样提示丢失大括号的错误?2.编译器怎样提示语句丢失分号的错误?3.编译器怎样提示将System写成system这一错误?4.编译器怎样提示将String写成string这一错误?2.一个简单的Java Applet程序✧实验要求:编写一个简单的Java Applet程序,并在Java Applet中写两行文字:“这是一个Java Applet程序”和“我改变了字体”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:FirstApplet.javaimport java.applet.*;import java.awt.*;public class FirstApplet extends Applet{public void paint(Graphics g){g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”g.setColor(Color.red);g.setFont(new Font("宋体",Font.BOLD,36));【代码2】//在Java Applet中绘制一行文字:“我改变了字体”}}✧实验后的练习:5.程序中的主类如果不用public修饰,编译能通过吗?6.程序中的主类如果不用public修饰,程序能正确运行吗?7.程序将paint方法误写成Paint,编译能通过么?8.程序将paint方法误写成Paint,运行时能看到有关的输出信息吗?3.联合编译✧实验要求:编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。
JAVA第三次实验完整版
实验报告
院(系): 计算机科学学院
专业年级 : 电子信息科学与技术1403班姓名 : 卢丽琼
学号 : 21409030312
2016年 12 月 26 日
实验三JDBC编程
一、目的
通过Java数据库访问程序的编写、调试,使学生掌握JDBC编程的基本方法,熟悉常用的JDBC API,促进学生对概念的理解,培养动手能力。
二、基本要求
学生需要按时达到指定实验室上机。
调试教学中使用的程序示例,并加以修改,增加程序的功能;实现数据库访问的优化。
完成实验后,需要按时提交实验报告。
三、实验内容
1)复习数据库SQL语句的编写。
2)编写(JavaODBC-JDBC驱动)公共模块。
3)建立数据库应用模型,对数据库进行操作。
4)调试程序,实现数据库的访问。
四:实验步骤与结果
五:实验心得
通过本次试验,我了解了JDBC的基本概念并且深入了解了其注册方法,我明白了如何调用数据库,怎样建立数据库,以及数据库的基本架构,更深入的了解了JA V A.。
Java实验总结报告
Java实验总结报告Java实验总结报告.Java实验报告在一学期的Java上机实验中,学到了很多书本以外的知识。
同时也遇到了很多难题,在解决问题中加深了对Java知识的认识与学习。
实验一中遇到的问题:环境变量的设置遇到了麻烦。
解决方法:询问老师,查阅书本得以解决。
实验二中遇到的问题:对Java的if和switch语句的运用不熟悉,所以导致实验中程序最初编写的很雍长,繁琐。
解决方法:通过对Java的if和switch语句的深一步学习,逐步学会了它们的灵活运用,从而更便捷地解决问题。
实验三中在学习过C的基础上,运用Java的for、while、do..while语句,并没遇到什么大的麻烦。
实验四中遇到的问题:编写提供三个选项的菜单驱动程序中的选择问题。
解决方法:在实验程序中用的是先判断温度类型,再转换单位。
实验五中遇到的问题:抽奖号码未能解决排序问题。
解决方法:该程序只针对该题是对的,关于排序问题在老师的启发下,自己在实验之外加以尝试,得以成功。
实验六遇到的问题:对成员变量的初始化,没有分步来写。
解决方法:在老师的帮助下重新一个个地初始化。
实验七中遇到的问题:由于一开始的充分准备,没遇到问题,很顺利。
实验八中遇到的问题:不能运行成功。
解决办法:发现是类名与文本名不同,改动之后得以解决。
实验九遇到的问题:shape和Circle包含关系,重复定义,比较繁琐。
解决方法:去掉其一。
实验十遇到的问题:在理解并使用面向对象的特征:多态实验上还算顺利。
实验十一遇到的问题:对线程的基本概念模糊,走了很多弯路。
解决方法:请教同学,参照课本最终才勉强解决了问题。
学习心得与体会:在做完所有实验后,我初步理解并能够操作和使用Java的if和switch,for、while、do..while语句,Java的类、对象和方法,声明、定义和调用方法,理解实参和形参的含义。
学习创建简单类型的数组,并能用循环语句处理数组。
使用统一建模语言(UML)设计类,并实现类。
Java上机实验报告(3)
Java上机实验报告(3)任务简要描述⼀、⼀、任务简要描述1、集合类的使⽤举例Collection接⼝ Collection是最基本的集合接⼝,⼀个Collection代表⼀组Object,即Collection的元素(Elements)。
⼀些 Collection允许相同的元素⽽另⼀些不⾏。
⼀些能排序⽽另⼀些不⾏。
Java SDK不提供直接继承⾃Collection的类,Java SDK提供的类都是继承⾃Collection的“⼦接⼝”如List和Set。
所有实现Collection接⼝的类都必须提供两个标准的构造函数:⽆参数的构造函数⽤于创建⼀个空的Collection,有⼀个 Collection参数的构造函数⽤于创建⼀个新的Collection,这个新的Collection与传⼊的Collection有相同的元素。
后⼀个构造函数允许⽤户复制⼀个Collection。
如何遍历Collection中的每⼀个元素?不论Collection的实际类型如何,它都⽀持⼀个iterator()的⽅法,该⽅法返回⼀个迭代⼦,使⽤该迭代⼦即可逐⼀访问Collection中每⼀个元素。
典型的⽤法如下:1 Iterator it = collection.iterator(); // 获得⼀个迭代⼦2 while(it.hasNext()) {3 Object obj = it.next(); // 得到下⼀个元素 由Collection接⼝派⽣的两个接⼝是List和Set。
List接⼝ List是有序的Collection,使⽤此接⼝能够精确的控制每个元素插⼊的位置。
⽤户能够使⽤索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。
和下⾯要提到的Set不同,List允许有相同的元素。
除了具有Collection接⼝必备的iterator()⽅法外,List还提供⼀个listIterator()⽅法,返回⼀个 ListIterator接⼝,和标准的Iterator接⼝相⽐,ListIterator多了⼀些add()之类的⽅法,允许添加,删除,设定元素,还能向前或向后遍历。
华南农业大学数据结构上机实验答案
华南农业大学实验一实验一实验一实验一实验一实验一实验一实验一实验一实验一实验一实验一实验一#include<>#include<>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType inttypedef struct{int *elem,length,listsize;}SqList;int InitList_Sq(SqList &L){=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));=0;=LIST_INIT_SIZE;r eturn OK;}int Load_Sq(SqList &L){i nt i;i f==0)printf("The List is empty!");{printf("The List is:");for(i=0;i<;i++)printf("% d",[i]);}p rintf("\n");r eturn OK;}int ListInsert_Sq(SqList &L,int i,int e){i f(i<1||i>+1)return ERROR;E lemType *newbase,*q,*p;i f>={newbase=(ElemType*)realloc,+LISTINCREMENT)*sizeof(ElemType));=newbase;+=LISTINCREMENT;}q=&[i-1]);f or(p=&[]);p>=q;--p)*(p+1)=*p;*q=e;++;r eturn OK;}int ListDelete_Sq(SqList &L,int i,int &e)E lemType *q,*p;i f(i<1||i>return ERROR;p=&[i-1]);e=*p;q=+;f or(++p;p<=q;p++)*(p-1)=*p;;r eturn OK;}int main(){S qList T;i nt a,i;E lemType e,x;i f(InitList_Sq(T)){printf("A Sequence List Has Created.\n");}w hile(1){printf("1:Insert element\n2:Delete element\n3:Load all elements\n0:Exit\nPlease choose:\n");scanf("%d",&a);switch(a){case 1: scanf("%d%d",&i,&x);if(!ListInsert_Sq(T,i,x))printf("Insert Error!\n");elseprintf("The Element %d is Successfully Inserted!\n",x);break;case 2: scanf("%d",&i);if(!ListDelete_Sq(T,i,e))printf("Delete Error!\n");elseprintf("The Element %d is Successfully Deleted!\n",e);break;case 3: Load_Sq(T);break;case 0: return 1;}}}222222#include<>#include<>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType inttypedef struct{int *elem,length,listsize;}SqList;int InitList_Sq(SqList &L){=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType)); =0;=LIST_INIT_SIZE;r eturn OK;}int Load_Sq(SqList &L){i nt i;f or(i=0;i<;i++)printf("%d ",[i]);p rintf("\n");r eturn OK;}int ListLength(SqList L){r eturn ;}int GetElem(SqList L,int i,ElemType &e){e=[i-1];r eturn OK;}int ListInsert_Sq(SqList &L,int i,int e){i f(i<1||i>+1)return ERROR;E lemType *p,*q,*newbase;i f<={newbase=(ElemType*)realloc,+LISTINCREMENT)*sizeof(ElemType));=newbase;+=LISTINCREMENT;}q=&[i-1]);f or(p=&[]);p>=q;p--)*(p+1)=*p;*q=e;++;r eturn OK;}void MergeList(SqList La,SqList Lb,SqList &Lc){i nt i,j,k,La_len,Lb_len,ai,bj;i=j=1;k=0;I nitList_Sq(Lc);L a_len=ListLength(La);L b_len=ListLength(Lb);w hile((i<=La_len)&&(j<=Lb_len)){GetElem(La,i,ai);GetElem(Lb,j,bj);if(ai<=bj){ListInsert_Sq(Lc,++k,ai);i++;}else{ListInsert_Sq(Lc,++k,bj);j++;}}w hile(i<=La_len){GetElem(La,i++,ai);ListInsert_Sq(Lc,++k,ai);}w hile(j<=Lb_len){GetElem(Lb,j++,bj);ListInsert_Sq(Lc,++k,bj);}L oad_Sq(Lc);}int main(){i nt an,bn,i,e;S qList La,Lb,Lc;I nitList_Sq(La);s canf("%d",&an);f or(i=1;i<=an;i++){scanf("%d",&e);ListInsert_Sq(La,i,e);}p rintf("List A:");L oad_Sq(La);I nitList_Sq(Lb);s canf("%d",&bn);f or(i=1;i<=an;i++){scanf("%d",&e);ListInsert_Sq(Lb,i,e);}p rintf("List B:");L oad_Sq(Lb);p rintf("List C:");M ergeList(La,Lb,Lc);r eturn 0;}333333#include<>#include<>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define ElemType inttypedef struct{int *elem,length,listsize;}SqList;int InitList_Sq(SqList &L){=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));i f(!{printf("NO1");return ERROR;}=0;=LIST_INIT_SIZE;r eturn OK;}int Load_Sq(SqList &L){i nt i;i f(!{printf("This List is empty!\n");return ERROR;}e lse{for(i=0;i<;i++)printf("%d ",[i]);}p rintf("\n");r eturn OK;}int ListInsert_Sq(SqList &L,int i,int e){E lemType *newbase,*p,*q;i f>={newbase=(ElemType*)realloc,+LISTINCREMENT)*sizeof(ElemType));if(!newbase){printf("NO2");return ERROR;}=newbase;+=LISTINCREMENT;}q=&[i-1]);f or(p=&[]);p>=q;p--)*(p+1)=*p;*q=e;++;r eturn OK;}int swap(SqList &L,int n){i nt i,j,temp;f or(i=0,j=n-1;j>i;i++,j--) {temp=[i];[i]=[j];[j]=temp;}r eturn OK;}int main(){S qList T;i nt n,i;E lemType x;s canf("%d",&n);I nitList_Sq(T);f or(i=1;i<n+1;i++){scanf("%d",&x);ListInsert_Sq(T,i,x); }p rintf("The List is:");L oad_Sq(T);s wap(T,n);p rintf("The turned List is:"); L oad_Sq(T);r eturn 0;}444444#include<>#include<>#define ERROR 0#define OK 1#define ElemType inttypedef struct LNode{i nt data;s truct LNode *next;}LNode,*LinkList;int CreateLink_L(LinkList &L,int n){L inkList p,q;i nt i;E lemType e;L=(LinkList)malloc(sizeof(LNode));L->next=NULL;q=(LinkList)malloc(sizeof(LNode));q=L;f or(i=0;i<n;i++){scanf("%d",&e);p=(LinkList)malloc(sizeof(LNode));p->data=e;p->next=q->next;q->next=p;q=q->next;}r eturn OK;}int LoadLink_L(LinkList &L){L inkList p=L->next;i f(!p)printf("The List is empty!");e lse{printf("The LinkList is:");while(p){printf("%d ",p->data);p=p->next;}}p rintf("\n");r eturn OK;}int LinkInsert_L(LinkList &L,int i,ElemType e) {L Node *p=L,*s;i nt j=0;w hile(p&&j<i-1){p=p->next;j++;}i f(!p||j>i-1)return ERROR;s=(LinkList)malloc(sizeof(LNode));s->data=e;s->next=p->next;p->next=s;r eturn OK;}int LinkDelete_L(LinkList &L,int i,ElemType &e) {L Node *p=L,*q;i nt j=0;w hile(p->next&&j<i-1){p=p->next;j++;}i f(!(p->next)||j<i-1)return ERROR;q=p->next;p->next=q->next;e=q->data;f ree(q);r eturn OK;}int main(){L inkList T;i nt a,n,i;E lemType x,e;p rintf("Please input the init size of the linklist:\n");s canf("%d",&n);p rintf("Please input the %d element of the linklist:\n",n);i f(CreateLink_L(T,n)){printf("A Link List Has Created.\n");LoadLink_L(T);}w hile(1){printf("1:Insert element\n2:Delete element\n3:Load all elements\n0:Exit\nPlease choose:\n");scanf("%d",&a);switch(a){case 1:scanf("%d%d",&i,&x);if(!LinkInsert_L(T,i,x))printf("Insert Error!\n");elseprintf("The Element %d is Successfully Inserted!\n",x);break;case 2:scanf("%d",&i);if(!LinkDelete_L(T,i,e))printf("Delete Error!\n");elseprintf("The Element %d is Successfully Deleted!\n",e);break;case 3:LoadLink_L(T);break;case 0:return 1;}}}555555#include<>#include<>#define ERROR 0#define OK 1#define ElemType inttypedef struct LNode{i nt data;s truct LNode *next;}LNode,*LinkList;int CreateLink_L(LinkList &L,int n){L inkList p,q;i nt i;E lemType e;L=(LinkList)malloc(sizeof(LNode));L->next=NULL;q=(LinkList)malloc(sizeof(LNode));q=L;f or(i=0;i<n;i++){scanf("%d",&e);p=(LinkList)malloc(sizeof(LNode));p->data=e;p->next=q->next;q->next=p;q=q->next;}r eturn OK;}int LoadLink_L(LinkList &L){L inkList p=L->next;i f(!p)printf("The List is empty!");e lse{while(p){printf("%d ",p->data);p=p->next;}}p rintf("\n");r eturn OK;}void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc) {L inkList pa,pb,pc;p a=La->next;p b=Lb->next;L c=pc=La;w hile(pa&&pb){if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}else{pc->next=pb;pc=pb;pb=pb->next;}}p c->next=pa?pa:pb;f ree(Lb);}int main(){L inkList La,Lb,Lc;i nt n;s canf("%d",&n);C reateLink_L(La,n);p rintf("List A:");L oadLink_L(La);s canf("%d",&n);C reateLink_L(Lb,n);p rintf("List B:");L oadLink_L(Lb);M ergeList_L(La,Lb,Lc);p rintf("List C:");L oadLink_L(Lc);r eturn 0;}666666#include<>#include<>#define OK 1#define ERROR 0#define ElemType inttypedef struct LNode{i nt data;s truct LNode *next;}LNode,*LinkList;int CreateLink_L(LinkList &L,int n) {L inkList p,q;i nt i;E lemType e;L=(LinkList)malloc(sizeof(LNode)); L->next=NULL;q=(LinkList)malloc(sizeof(LNode)); q=L;f or(i=0;i<n;i++){scanf("%d",&e);p=(LinkList)malloc(sizeof(LNode));p->data=e;p->next=q->next;q->next=p;q=q->next;}r eturn OK;}int LoadLink_L(LinkList &L){L inkList p=L->next;i f(!p)printf("The List is Empty!");e lsewhile(p){printf("%d ",p->data);p=p->next;}p rintf("\n");r eturn OK;}int inversion(LinkList &L){L inkList p=L->next,q;L->next=NULL;w hile(p){q=p->next;p->next=L->next;L->next=p;p=q;}r eturn OK;}int main(){L inkList T;i nt n;s canf("%d",&n);C reateLink_L(T,n);p rintf("The List is:");L oadLink_L(T);i nversion(T);p rintf("The turned List is:");L oadLink_L(T);r eturn 0;}实验二实验二实验二实验二实验二实验二实验二实验二实验二实验二实验二实验二实验二#include<>#include<>#include<>#define OK 1#define ERROR 0#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef int SElemType;typedef int Status;struct SqStack{S ElemType *base;S ElemType *top;i nt stacksize;};Status InitStack(SqStack &S){=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));i f(!return ERROR;=;=STACK_INIT_SIZE;r eturn OK;}Status Push(SqStack &S,SElemType e){i f {=(SElemType*)realloc,+STACKINCREMENT)*sizeof(SElemType));ifreturn ERROR;=+;+=STACKINCREMENT;}*++=e;r eturn OK;}Status Pop(SqStack &S,SElemType &e) {i f==return ERROR;e=*;r eturn OK;}Status GetTop(SqStack S,SElemType &e) {i f==return ERROR;e=*;r eturn OK;}int StackLength(SqStack S){i nt i=0;w hile!={i++;;}r eturn i;}Status StackTraverse(SqStack S){S ElemType *p=(SElemType*)malloc(sizeof(SElemType)); p=;i f==printf("The Stack is Empty!");e lse{printf("The Stack is:");p--;;while(p!={printf("% d",*p);p--;}}p rintf("\n");r eturn OK;}int main(){i nt a;S qStack S;S ElemType x,e;i f(InitStack(S))printf("A Stack Has Created.\n");w hile(1){printf("1:Push\n2:Pop\n3:Get the Top\n4:Return the Length of the Stack\n5:Load the Stack\n0:Exit\nPlease choose:\n");scanf("%d",&a);switch(a){case 1:scanf("%d",&x);if(!Push(S,x))printf("Push Error!\n");elseprintf("The Element %d is Successfully Pushed!\n",x);break;case 2:if(!Pop(S,e))printf("Pop Error!\n");elseprintf("The Element %d is Successfully Poped!\n",e);break;case 3:if(!GetTop(S,e))printf("GetTop Error!\n");elseprintf("The Top Element is %d!\n",e);break;case 4:printf("The Length of the Stack is %d!\n",StackLength(S));break;case 5:StackTraverse(S);break;case 0:return 1;}}222222#include<>#include<>#define ERROR 0#define OK 1#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef int SElemType;typedef int Status;struct SqStack{S ElemType *base;S ElemType *top;i nt stacksize;};Status InitStack(SqStack &S){=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));i f(!return ERROR;=;=STACK_INIT_SIZE;r eturn OK;}Status Push(SqStack &S,SElemType e)i f {=(SElemType*)realloc,+STACKINCREMENT)*sizeof(SElemType));ifreturn ERROR;=+;+=STACKINCREMENT;}*++=e;r eturn OK;}Status Pop(SqStack &S,SElemType &e){i f==return ERROR;e=*;r eturn OK;}Status StackEmpty(SqStack &S){i f==return 0;e lsereturn 1;}int main(){i nt N,e;I nitStack(S);s canf("%d",&N);w hile(N){Push(S,N%8);N=N/8;}w hile(StackEmpty(S)){Pop(S,e);printf("%d",e);}r eturn 0;}333333typedef char SElemType;#include<>#include<>#include<>#include<>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status;#define STACK_INIT_SIZE 10 #define STACKINCREMENT 2{S ElemType *base;S ElemType *top;i nt stacksize;};Status InitStack(SqStack &S){=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));i f(!return 0;=;=STACK_INIT_SIZE;r eturn OK;}Status StackEmpty(SqStack S){i f==return TRUE;e lsereturn FALSE;}Status Push(SqStack &S,SElemType e){i f {=(SElemType*)realloc,+STACKINCREMENT)*sizeof(SElemType));if(!return 0;=+;+=STACKINCREMENT;}*++=e;r eturn OK;}Status Pop(SqStack &S,SElemType &e) {i f==return ERROR;e=*;r eturn OK;}void check(){SqStack s;SElemType ch[80],*p,e;if(InitStack(s)){gets(ch);p=ch;while(*p)switch(*p){case '(':case '[':Push(s,*p++);break;case ')':case ']':if(!StackEmpty(s)){Pop(s,e);if(*p==')'&&e!='('||*p==']'&&e!='['){printf("isn't matched pairs\n");return ;}else{p++ ;break;}}else{printf("lack of left parenthesis\n");return ;}default: p++;}if(StackEmpty(s))printf("matching\n");elseprintf("lack of right parenthesis\n");}}int main(){c heck();r eturn 1;}444444typedef char SElemType;#include<>#include<>#include<>#include<>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status;#define STACK_INIT_SIZE 10#define STACKINCREMENT 2struct SqStack{S ElemType *base;S ElemType *top;i nt stacksize;};FILE *fp;Status InitStack(SqStack &S){=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));i f(!return 0;=;=STACK_INIT_SIZE;r eturn OK;}Status StackEmpty(SqStack S){i f==return TRUE;e lsereturn FALSE;}Status ClearStack(SqStack &S){=;r eturn OK;}Status DestroyStack(SqStack &S){f ree;=NULL;=NULL;=0;r eturn OK;}Status Push(SqStack &S,SElemType e) {i f {=(SElemType*)realloc,+STACKINCREMENT)*sizeof(SElemType));if(!return 0;=+;+=STACKINCREMENT;}*++=e;r eturn OK;}Status Pop(SqStack &S,SElemType &e){i f==return ERROR;e=*;r eturn OK;}Status StackTraverse(SqStack S,Status(*visit)(SElemType)){w hile>visit(*++);p rintf("\n");r eturn OK;}Status visit(SElemType c){p rintf("%c",c);r eturn OK;}void LineEdit(){S qStack s;c har ch,c;i nt n,i;I nitStack(s);s canf("%d",&n);c h=getchar();f or(i=1;i<=n;i++){ch=getchar();while(ch!='\n'){switch(ch){case '#': Pop(s,c);break;case '@': ClearStack(s);break;default:Push(s,ch);}ch=getchar();}StackTraverse(s,visit);ClearStack(s);}D estroyStack(s);}int main()L ineEdit();r eturn 1;}555555#include<>#include<>#define OK 1#define ERROR 0#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef int Status;struct SqStack_T{c har *base;c har *top;i nt stacksize;};struct SqStack_N{i nt *base;i nt *top;i nt stacksize;};Status InitStack_T(SqStack_T &S){=(char*)malloc(STACK_INIT_SIZE*sizeof(char));return ERROR;=;=STACK_INIT_SIZE;r eturn OK;}Status InitStack_N(SqStack_N &S){=(int*)malloc(STACK_INIT_SIZE*sizeof(int));i f(!return ERROR;=;=STACK_INIT_SIZE;r eturn OK;}int Push_T(SqStack_T &S,char e){i f {=(char*)realloc,+STACKINCREMENT)*sizeof(char));if(!return ERROR;=+;+=STACKINCREMENT;}*++=e;r eturn OK;}int Push_N(SqStack_N &S,int e)i f {=(int*)realloc,+STACKINCREMENT)*sizeof(int));if(!return ERROR;=+;+=STACKINCREMENT;}*++=e;r eturn OK;}int Pop_T(SqStack_T &S,char &e){i f==return ERROR;e=*;r eturn OK;}int Pop_N(SqStack_N &S,int &e){i f==return ERROR;e=*;r eturn OK;}char GetTop_T(SqStack_T S){c har e;i f==return ERROR;e=*;r eturn e;}int GetTop_N(SqStack_N S){i nt e;i f==return ERROR;e=*;r eturn e;}char Precede(char theta1,char theta2) {i nt a,b;s witch(theta1){c ase '+': a=2; break;c ase '-': a=2; break;c ase '*': a=4; break;c ase '/': a=4; break;c ase '(': a=0; break;c ase ')': a=6; break;c ase '=': a=-1; break;}s witch(theta2){c ase '+': b=1; break;c ase '-': b=1; break;c ase '*': b=3; break;c ase '/': b=3; break;c ase '(': b=6; break;c ase ')': b=0; break;c ase '=': b=-1; break;}i f(a<b)return '<';e lseif(a==b)return '=';elsereturn '>';}char precede(char e,char c){i f(c=='+'||c=='-'){if(e=='+'||e=='-'||e==')'||e=='=') return '>';elsereturn '<';}i f(c=='*'||'/'){if(e=='(')return '<';elsereturn '>';}i f(c=='('){if(e==')')return '=';elsereturn '<';}i f(c==')')return '>';i f(c=='='){if(e=='=')return '=';elsereturn '<';}}int In(char c){i f(c>='0'&&c<='9')return 1;e lsereturn 0;}int Operate(int a,char theta,int b){i nt s;s witch(theta){c ase '+': s=a+b; break;c ase '-': s=a-b; break;c ase '*': s=a*b; break;c ase '/':if(b!=0)s=a/b;elseprintf("Input error");break;}r eturn s;}int main(){i nt k=0,m,y,a,b;S qStack_T OPTR;S qStack_N OPND;c har c,theta;I nitStack_T(OPTR); Push_T(OPTR,'=');I nitStack_N(OPND); c=getchar();w hile(c!='='||GetTop_T(OPTR)!='=') {if(In(c)){m=c-'0';if(k==1){Pop_N(OPND,y);y=m+y*10;Push_N(OPND,y);k=1;c=getchar();}else{y=m;Push_N(OPND,y);c=getchar();k=1;}}else{k=0;switch(Precede(GetTop_T(OPTR),c)){case '<': Push_T(OPTR,c); c=getchar(); break;case '=': Pop_T(OPTR,c); c=getchar(); break;case '>':Pop_T(OPTR,theta);Pop_N(OPND,b);Pop_N(OPND,a);Push_N(OPND,Operate(a,theta,b));break;}}}p rintf("%d",GetTop_N(OPND));r eturn 0;}实验三实验三实验三实验三实验三实验三实验三实验三实验三实验三实验三实验三实验三#include<>#include<>#define OK 1#define ERROR 0typedef int Status;typedef int QElemType;#define MAXQSIZE 100typedef struct{Q ElemType *base;i nt front;i nt rear;}SqQueue;Status InitQueue(SqQueue &Q){=(QElemType*)malloc(MAXQSIZE*sizeof(QElemType));i f(!return ERROR;==0;r eturn OK;Status EnQueue(SqQueue &Q,QElemType e) {i f(+1)%MAXQSIZE==return ERROR;[]=e;=+1)%MAXQSIZE;r eturn OK;}Status DeQueue(SqQueue &Q,QElemType &e) {i f==return ERROR;e=[];=+1)%MAXQSIZE;r eturn OK;}Status GetHead(SqQueue Q,QElemType &e) {i f==return ERROR;e=[];r eturn OK;}int QueueLength(SqQueue Q){r eturn QueueTraverse(SqQueue Q)i nt i;i=;i f==printf("The Queue is Empty!");e lse{printf("The Queue is:");while(i!={printf("% d",[i]);i=i+1;}}p rintf("\n");r eturn OK;}int main(){i nt a;S qQueue S;Q ElemType x,e;i f(InitQueue(S))printf("A Queue Has Created.\n");w hile(1){printf("1:Enter \n2:Delete \n3:Get the Front \n4:Return the Length of the Queue\n5:Load the Queue\n0:Exit\nPlease choose:\n");scanf("%d",&a);switch(a){case 1: scanf("%d",&x);if(!EnQueue(S,x))printf("Enter Error!\n");elseprintf("The Element %d is Successfully Entered!\n",x);break;case 2: if(!DeQueue(S,e))printf("Delete Error!\n");elseprintf("The Element %d is Successfully Deleted!\n",e);break;case 3: if(!GetHead(S,e))printf("Get Head Error!\n");elseprintf("The Head of the Queue is %d!\n",e);break;case 4: printf("The Length of the Queue is %d!\n",QueueLength(S));break;case 5: QueueTraverse(S);break;case 0: return 1;}}}222222#include<>#include<>#define OK 1#define ERROR 0typedef int Status;typedef int QElemType;#define MAXQSIZE 100typedef struct{Q ElemType *base;i nt front;i nt rear;}SqQueue;Status InitQueue(SqQueue &Q){=(QElemType*)malloc(MAXQSIZE*sizeof(QElemType));i f(!return ERROR;==0;r eturn OK;}Status EnQueue(SqQueue &Q,QElemType e){i f(+1)%MAXQSIZE==return ERROR;[]=e;=+1)%MAXQSIZE;r eturn OK;}Status DeQueue(SqQueue &Q,QElemType &e){i f==return ERROR;e=[];=+1)%MAXQSIZE;r eturn OK;}Status GetHead(SqQueue Q,QElemType &e) {i f==return ERROR;e=[];r eturn OK;}int QueueLength(SqQueue Q){r eturn QueueTraverse(SqQueue Q){i nt i;i=;i f==printf("The Queue is Empty!");e lse{printf("The Queu is:");while(i!={printf("%d",[i]);i=(i+1)%MAXQSIZE;}}p rintf("\n");r eturn OK;}int main(){i nt i,a;S qQueue S;i nt p,q,e,r;f loat t,s=0;I nitQueue(S);s canf("%d",&a);g etchar();f or(i=1;i<=a*2;i++){scanf("%d",&e);getchar();EnQueue(S,e);}p=[];w hile>{q=p+[+1];DeQueue(S,e);DeQueue(S,e);if==break;。
华南农业大学Java试卷与答案2011-2013年-加50条程序代码
考试题型分为四种:1、单选题每小题2分,20个小题共40分2、判断题每小题1分,10个小题共10分3、阅读程序写结果每小题5分,4小题共20分4、编程题3个小题,9分,10分,11分,共30分提醒各位同学注意,考试采用标准答题卡,单选题和判断题的答案将填涂在答题卡上,考试时记得带2B铅笔和橡皮擦。
考试内容分布:1、出题范围从第1章到第8章,其中第2章2.5.4位运算、条件运算,5.1.6 for…each,5.4.2 StringBuffer,6.7方法的递归调用,8.5内部类,8.6基本数据类型与包装类不在考核范围,其他都有涉及。
2、重点考核在选择结构、循环结构、数组、对象和类、继承与多态等内容上。
3、强调学生重视基础的同时要学会编写程序华南农业大学期末考试试卷(A卷)2012-2013学年第1 学期考试科目:Java程序设计考试类型:(闭卷)考试考试时间:120 分钟学号姓名年级专业一、单项选择题(本大题共18 小题,每小题2 分,共36 分)1.下列关于Java语言的说法,不正确的是________:A. Java是面向对象的高级语言B. Java是解释型语言,所以执行速度快C. 一个类被编译成一个.class字节码文件D. Java程序可以做到“一次编写,随处运行”2.下列符合Java程序元素命名习惯的是________。
A. double RadiusB. int lengthofarrayC. class shapeD. final double PI3.下列不满足自动类型转换的赋值语句是________。
A.int c = ‘A’; B. long d = 165;C.float b = 26.3; D. double a = 13;4.语句int a = 10, b = 20; b += a++; 执行结束后,a和 b的值分别是________。
A. 10,30B. 11,30C. 10,31D. 11,315.下列程序段的输出结果是________。
软件设计模式(JAVA) 06_适配器模式_实验指导书
实验(上机)六适配器模式实验(上机)目的1、练习使用结构型设计模式;2、练习使用适配器模式的设计思路;3、练习使用适配器模式实现“教务学生成绩排序查找”案例的实现。
实验(上机)课时2学时实验(上机)环境JDK1.8\Eclipse Mars预备知识1、结构型模式;2、适配器模式概述;3、适配器模式的结构与实现;4、适配器模式的应用实例;5、缺省适配器模式;6、双向适配器模式;7、适配器模式的优缺点与适用环境。
实验(上机)内容在为某学校开发教务管理系统时,开发人员发现需要对学生成绩进行排序和查找,该系统的设计人员已经开发了一个成绩操作接口ScoreOperation,在该接口中声明了排序方法Sort(int[]) 和查找方法Search(int[], int),为了提高排序和查找的效率,开发人员决定重用现有算法库中的快速排序算法类QuickSortClass和二分查找算法类BinarySearchClass,其中QuickSortClass的QuickSort(int[])方法实现了快速排序,BinarySearchClass的BinarySearch (int[], int)方法实现了二分查找。
由于某些原因,开发人员已经找不到该算法库的源代码,无法直接通过复制和粘贴操作来重用其中的代码;而且部分开发人员已经针对ScoreOperation接口(自己开发的接口)编程,如果再要求对该接口进行修改或要求大家直接使用QuickSortClass类和BinarySearchClass类将导致大量代码需要修改。
现使用适配器模式设计一个系统,在不修改已有代码的前提下将类QuickSortClass 和类BinarySearchClass的相关方法适配到ScoreOperation接口中。
新建解决方案,新建一个控制台应用程序,编写适配器模式类实现代码,实现以上需求的案例,要求编写为控制台应用程序,并能调试运行。
华南农业大学数据结构java版实验二
实验报告二线性表华南农业大学信息(软件)学院《数据结构(JA V A)》综合性、设计性实验成绩单开设时间:2017学年第二学期一,实验目的:(1)理解线性表的逻辑结构、两种存储结构和数据操作,熟练运用JAVA语言实现线性表的基本操作,分析各种操作算法特点和时间复杂度。
(2)掌握单链表的遍历、插入和删除等操作算法,实现多项式相加。
二,实验内容:1、设计一个有序顺序表(元素已排序,递增或递减),实现插入、删除等操作,元素插入位置由其值决定。
实现:(1)升序排序顺序表类名为:SortedSeqList,存成文件;(2)另外编写文件来演示调用排序顺序表public class SortedSeqList {private int MAX_SIZE = 10;private int[] ary = new int[MAX_SIZE];private int length = 0;public SortedSeqList(int[] array) {if (array == null || == 0) {= 0;} else {ary = array;length = ;}}public void clear() {length = 0;}public boolean isEmpty() {return length == 0;}public void delete(int index) throws Exception {if (length == 0) {throw new Exception("No elment to delete");}int newAry[] = new int[ - 1];for (int i = 0, j = 0; i < ; i++) {if (i == index) {continue;} else {newAry[j++] = ary[i];}}ary = newAry;length--;}public int insert(int value) throws Exception {if (length == MAX_SIZE) {throw new Exception("List is full, can't insert more");}int[] newAry = new int[length + 1];int i = 0, j = 0;for (; i < ; i++, j++) {if (ary[i] >= value) {newAry[j] = value;break;} else {newAry[j] = ary[i];}}while (i < {newAry[++j] = ary[i];i++;}ary = newAry;length++;return value;}public void display() {"\nList now is: ");for (int i = 0; i < ; i++) {+ "\t");}}}(2)文件来演示调用排序顺序表public class SortedSeqList_ex {public static void main(String[] args) throws Exception {int[] ary = {1, 2, 3, 5, 7};SortedSeqList list = new SortedSeqList(ary);();(4);();(2);();}}(3)实验结果2、在SinglyLinkedList类中增加下列成员方法。
华南农业大学C语言实验上机实验第四版参考答案
C语言程序设计上机实验指导与习题参考答案(第四版)实验1 C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。
(3)通过运行简单的C程序,初步了解C程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
二、实验内容1. 运行第一个C程序[题目:The first C Program]将下列程序输入visual c++ ,编译、连接和运行该程序。
#include"stdio.h"main(){printf("The first C Program\n");}[具体操作步骤](1)在编辑窗口中输入程序。
(2)保存程序,取名为a1.c。
(3)按照第一章中介绍的方法,编译、连接和运行程序。
(4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。
2. 在在线评判系统中提交实现了计算a+b功能的程序[题目1001:计算a+b]由键盘输入两个整数,计算并输出两个整数的和。
实现该功能的程序如下,#include "stdio.h"main(){ int a, b;scanf("%d%d", &a, &b);printf("%d", a + b);}(1)在程序编辑窗口中输入程序。
(2)保存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入15 30↙(↙表示输入回车符)(5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。
45(6)按照第三章中介绍的方法进入在线评判系统。
(7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。
(8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。
《Java语言程序设计》上机实验指导手册new2【精选】
《Java程序设计》上机实验指导书实验一类与对象【实验目的】①使用类来封装对象的属性和功能;②掌握类变量与实例变量,以及类方法与实例方法的区别;③理解接口、塑型、多态的概念并能熟练应用。
④巩固以下概念:子类的继承性子类对象的创建过程成员变量的继承与隐藏方法的继承与重写【实验任务】1、创建Java类与对象,并创建方法(1).编写一个Java程序片断,以定义一个表示学生的类Student。
这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。
(2).为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。
编写一个JavaApplication程序,创建Student类的对象,并验证新增加的功能。
class Student{private long studentID;private int classID;private String name;private String sex;private int age;public Student(long studentID,int classID,String name,String sex,int age){this.studentID=studentID;this.classID=classID;=name;this.sex=sex;this.age=age;}public long getStudentID(){return studentID;}public int getClassID(){}public String getName(){return name;}public String getSex(){return sex;}public int getAge(){return age;}public String toString(){return "学号:"+getStudentID()+"\n班号:"+getClassID()+"\n 姓名:"+getName()+"\n性别:"+getSex()+"\n年龄:"+getAge();}}public class StudentDemo{public static void main(String[] args){Student s1=new Student(90221,2,"Tom","male",20);System.out.println(s1.toString());}}运行结果:学号:90221班号:2姓名:Tom性别:male年龄:202、三角形、梯形和圆形的类封装✧实验要求:编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。
2015年华南农业大学数信Java程序设计
2015年华南农业⼤学数信Java程序设计2015年华南农业⼤学数信Java程序设计⼀、单项选择题(每⼩题2分,共40分)1、如下哪些字串是Java中合法的⾃定义标识符( )A、fieldnameB、superC、3numberD、#number2、编写java程序时候,在语句结束的时候忘记加分号会产⽣( )A、运⾏时错误B、逻辑错误C、编译错误D、运⾏时错误和逻辑错误3、执⾏下列java代码将会产⽣的结果是( )System.o ut.println(“28 Plus 72 is :” + 28 +72)A、28 Plus 72 is:100B、28 Plus 72 is:28+72C、28 Plus 72 is:2827D、28 Plus 72 is:28724、下列说法正确的是( )A、在java语⾔中,⼤⼩写是没有区分的B、在java程序中,⼀个字符串不能跨越多⾏C、在java中有9种基本数据类型D、在java中,每种颜⾊可以由红⾊、绿⾊、⽩⾊这三种基本颜⾊的组合来表⽰5、假设创建⼀个Random对象generter,则语句generter.nextInt(32)产⽣的随机数的范围是( )A、[0 32]B、(0 31]C、[0 32)D、(0 31)6、下列说法不正确的是( )A、java中的空引⽤指的是⼀个不指向任何对象的引⽤B、Math类的所有⽅法都是静态⽅法,可以⽤类名直接调⽤该类中的⽅法C、⼀个枚举类型是⼀种特殊的类,枚举型变量是对象变量D、⼀个包装类代表⼀种具体的基本数据类型,对应void类型的Void类能被实例化7、下列关于构造⽅法的说法正确的是( )A、必须为每⼀个类都编写构造⽅法B、构造⽅法名可以不与类名相同C、构造⽅法与类名相同,且不能返回值D、构造⽅法有void类型的返回值8、⽤( )修饰的class不能被实例化A、finalB、privateC、abstractD、static9、设int x = 1 , int y = 2 , int z = 3,则表达式y +=z--/++x的值是( )A、3B、3. 5C、4D、510、下列说法正确的是( )A、程序员必须创建⼀个线程来释放内存B、在java程序中,如果case⼦句不⽤break语句结尾,下⼀条case⼦句将会被执⾏C、while循环的循环体会⾄少执⾏⼀次,⽽do循环的循环体可能被执⾏0此或多次D、Switch⼦句中表达式运算结果可以是boolean、float或者是string类型11、不使⽤set和get⽅法( )A、会产⽣语法错误B、会产⽣逻辑错误C、不是良好的编程习惯D、以上均不是12、软件系统中的类之间有各种关系,最基本的关系是( )A、依赖B、聚合C、继承D、依赖、聚合和继承13、下列关于接⼝的说法不正确的是( )A、接⼝⽅法的默认可见性是public,接⼝能够被实例化B、⼀个Java接⼝是⼀组常量和抽象⽅法的集合C、⼀个类通过实现接⼝中的每⼀个⽅法来实现该接⼝D、接⼝要求⼀个实现它的类应实现接⼝的特定的⽅法,同时允许实现类还有其他的⽅法14、基于基类SoftDrink定义⼀个新类Jolt,下⾯哪⼀个的语法是正确的是( )A、class Jolt isa SoftDrink { //additional definitions go here }B、class Jolt implements SoftDrink { //additional definitions go here }C、class Jolt defines SoftDrink { //additional definitions go here }D、class Jolt extends SoftDrink { //additional definitions go here }15、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 };则执⾏以下⼏个语句后的输出结果是( )int s = 0 ;for ( int i = 0 ; i < MyIntArray.length ; i + + )if ( i % 2 = = 1 ) s += MyIntArray[i] ;System.out.println( s );A、200B、120C、150D、11016、下列说法不正确的是( )A、抽象类通常含有⼀个或者多个尚未定义的⽅法,在类层次结构上起着占位的作⽤B、⼀个⽤符号final修饰的类能⽤于派⽣新类C、在Java中,所有的类都是由Object类派⽣D、Java中只⽀持单继承,不⽀持多继承17、下列命题哪⼀个为真( )A、⼀个⼦类可以继承⼀个⽗类或实现⼀个接⼝,但不能两者都做B、⼀个⼦类只能继承⼀个⽗类,实现⼀个接⼝C、⼀个⼦类只能继承⼀个⽗类,可以实现零个或多个接⼝D、⼀个⼦类可以继承零个或多个⽗类,可以实现零个或多个接⼝18、多态的优点是( )A、同⼀个程序逻辑可以被⽤于多个相关类型的变量B、变量可以被重⽤以节省内存C、以旧的对象来构造相似类型的新对象可以节省时间D、多态是继承机制中危险的⼀⾯,应避免使⽤19、所谓的异常,是指( )A、程序中的语法错误B、程序的编译错误C、程序执⾏过程中遇到的事先没有预料到的情况D、程序事先定义好的可能出现的意外情况20、点击按钮引发的事件是( )A、ActionEventB、ItemEventC、MouseEventD、KeyEvent⼆、判断题(每空1分,共10分)( ) 1、java中提供的⽂档⽣成器是javadoc.exe。
华南农业大学数据结构上机答案实验
华南农业大学数据结构上机答案实验8583 顺序栈的基本操作时间限制:1000MS 内存限制:1000K提交次数:530 通过次数:212题型: 编程题语言: 无限制Description创建一个空的顺序栈,并实现栈的入栈、出栈、返回栈的长度、返回栈顶元素、栈的遍历等基本算法。
请将下#include<malloc.h>#include<stdio.h>#define OK 1#define ERROR 0#define STACK_INIT_SIZE 100 // 存储空间初始分配量#define STACKINCREMENT 10 // 存储空间分配增量typedef int SElemType; // 定义栈元素类型typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK 等struct SqStack{SElemType *base; // 在栈构造之前和销毁之后,base的值为NULL SElemType *top; // 栈顶指针int stacksize; // 当前已分配的存储空间,以元素为单位}; // 顺序栈Status InitStack(SqStack &S){// 构造一个空栈S,该栈预定义大小为STACK_INIT_SIZE// 请补全代码S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));if(!S.base) return ERROR;S.top=S.base;S.stacksize=STACK_INIT_SIZE;return OK;}Status Push(SqStack &S,SElemType e){// 在栈S中插入元素e为新的栈顶元素// 请补全代码if(S.top-S.base>=S.stacksize){S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SEl emType));if(!S.base) return ERROR;S.top=S.base+S.stacksize;S.stacksize+=STACKINCREMENT;}*S.top++=e;return OK;}Status Pop(SqStack &S,SElemType &e){// 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR// 请补全代码if(S.top==S.base) return ERROR;e=*--S.top;return OK;}Status GetTop(SqStack S,SElemType &e){// 若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR // 请补全代码if(S.top==S.base) return ERROR;e=*(S.top-1);return OK;}int StackLength(SqStack S){// 返回栈S的元素个数// 请补全代码return S.top-S.base;}Status StackTraverse(SqStack S){// 从栈顶到栈底依次输出栈中的每个元素SElemType *p = (SElemType *)malloc(sizeof(SElemType));p = S.top ; //请填空if(S.top==S.base)printf("The Stack is Empty!"); //请填空else{printf("The Stack is: ");p--;while(p>=S.base) //请填空{printf("%d ", *p);p--; //请填空}}printf("\n");return OK;}int main(){int a;SqStack S;SElemType x, e;if(InitStack(S)) // 判断顺序表是否创建成功,请填空{printf("A Stack Has Created.\n");}while(1){printf("1:Push \n2:Pop \n3:Get the Top \n4:Return the Length of the Stack\n5:Load the Stack\n0:Exit\nPlease choose:\n");scanf("%d",&a);switch(a){case 1: scanf("%d", &x);if(!Push(S,x)) printf("Push Error!\n"); // 判断Push是否合法,请填空else printf("The Element %d is Successfully Pushed!\n", x); break;case 2: if(!Pop(S,e)) printf("Pop Error!\n"); // 判断Pop是否合法,请填空else printf("The Element %d is Successfully Poped!\n", e); break;case 3: if(!GetTop(S,e))printf("Get Top Error!\n"); // 判断Get Top 是否合法,请填空else printf("The Top Element is %d!\n", e);break;case 4: printf("The Length of the Stack is %d!\n",StackLength(S)); //请填空break;case 5: StackTraverse(S); //请填空break;case 0: return 1;}}}8584 循环队列的基本操作时间限制:1000MS 内存限制:1000K提交次数:366 通过次数:157题型: 编程题语言: 无限制Description创建一个空的循环队列,并实现入队、出队、返回队列的长度、返回队头元素、队列的遍历等基本算法。
java实验报告实验2答案(共5篇)
java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。
了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。
实验内容:创建一个java项目,命名为experiment2。
(如何创建项目参考《实验一》的项目创建方法。
)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。
组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。
组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。
通过容器的add方法把组件加入到容器中。
1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。
(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.java。
Java上机实验指导书
intyourGuess=0;
System.out.println("输入你的猜测");
yourGuess=reader.nextInt();
while([代码1])
System.out.println(“tank2目前的速度:”+tank2.getSpeed());
System.out.println(“tank1开火:”);
tank1.fire();
System.out.println(“tank2开火);
tank2.fire();
tank2.fire();
图1-5
(三)使用EditPlus
要编写Java程序,需要有文本编辑器。可以使用操作系统提供的记事本作为编辑器,最好选择EditPlus编辑软件,它可以使用不同颜色显示Java的关键字和类名,简单好用,同时可以对程序进行编译和运行。
1.下载并安装EditPlus编辑软件EditPlus编辑软件的安装方法很简单,安装软件提示要求去做即可。
1.打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径。
2.键入编译命令和要谝译的源程序文件名,
javac Hello.java
按回车键开始执行(注意:文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在目录中看到生成了一个同名字的.class文件“Hello. class”,如图1-7所示。否则,将显示出错信息。
}
}
System.out.println("猜对了;");
JAVA上机实验
西安邮电大学《JAVA大学基础教程》上机实验报告学院名称:经济管理学院学生姓名:yvcb专业班级:商务1201班学号:532128提交时间:2013 年12月26 日目录J A V A实验1 (1)J A V A实验2 (5)J A V A实验3 (10)J A V A实验4 (14)J A V A实验5 (16)J A V A实验6 (21)J A V A实验8 (29)JA V A实验1一、实验目的:掌握Java开发工具如何安装,Java开发环境如何配置,对java程序如何编写有初步认识。
二、实验时间:三、实验用到的主要技术及工具技术:Java工具:记事本三、实验内容:安装JDK,配置Java开发环境,运行课堂中讲述的两个Java程序。
四、开发步骤:1、安装JDK,配置JA V A环境变量。
第一步:下载JDK安装包第二步:安装JDK在安装时修改安装地址(最好不要装在C盘,以免影响系统的运行速度),点击下一步将开发工具改为原代码,点击下一步安装JDK完成。
第三步:环境变量的配置。
计算机(右键)→属性→ 高级系统设置→环境变量→修改以下三个环境变量①增加JAVA_HOME,变量值为JDK的安装目录②增加CLASSPATH变量,变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar之前的那个小点不能少。
③修改PATH 变量。
在变量值里加入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;第四步:验证安装成功:运行→ CMD→ 输入JAVAC,查看运行结果,如果显示出以下,则安装正确。
或者打开DOS界面,输入java -oversion,如果输入JDK的安装目录,则安装正确。
否则安装失败。
2、手工输入两个课堂中的程序,能顺利运行并输出结果。
Test.java文件。
public class Test{public static void main(String[] args) {System.out.println("验证JAVA成功安装!");}}②输入java Test.java编译,如果还在D的目录下。
Java综合性实验报告
华南农业大学计算机科学与工程系《面向对象程序设计》课程设计评分表题目源代码自动转换程序专业班级软件11班提交日期2013年10月25日小组成员学号姓名工作量%成绩(指导老师填写)组长201131001129 卓靖山34%组员201131001115 丘文煌33%组员201131001117 沈富强33%小组评分表评分项目分数1.实现情况(15):完成课程设计要求的情况14 2.系统分析(10):对系统的理解及分析的深入程度。
9 3.系统设计(20):总体设计、具体设计、数据结构设计等。
18 4.程序设计(30):面向对象程序设计方法与编程工具掌握水平。
27 5.界面设计(15):界面美观程度、操作方式友好程度等。
14 6.论文撰写(10):论文撰写的规范性、合理性等等。
9小组总成绩:91 教师签名宋鸿陟日期1系统分析1.1 问题描述源程序代码是纯文本文件,本课程设计的目标是编写一个应用程序可以将源程序文件转换为HTML的网页文件。
1.2 系统功能分析源程序代码是纯文本文件,本课程设计的目标是编写一个应用程序可以将源程序文件转换为HTML的网页文件。
功能要求如下:1.能够处理的源程序包括:Java源程序(扩展名.java)、C源程序(扩展名.h 和.c)。
鼓励能处理其他源程序代码。
2.提供一个基于Java Swing实现的GUI界面,类似Windows的资源管理器。
在该界面中选择一个或多个源程序文件进行转换。
3.转换时要求按语法分色。
因此需要该对转换进行设置,如:目标文件名、字体、关键字颜色等。
4.得到的HTML文件,用浏览器查看如下图所示。
另外要求每行有行号。
1.3 开发平台及工具介绍使用Eclipse进行代码编写,后在Netbeants中导入Eclipise项目进行打包2系统设计2.1 系统总体结构设计2.1.1 配置文件:该语言的关键字配色方案,如:关键字字体的颜色、大小;标识符的字体颜色、大小配置文件的格式可以是:cpp或Java的properties文件2.1.2导入的包import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.Date;import java.util.Properties;import javax.swing.border.BevelBorder;import javax.swing.event.ListDataListener;import javax.swing.event.TreeModelListener;import javax.swing.event.TreeSelectionEvent;import javax.swing.event.TreeSelectionListener;import javax.swing.filechooser.FileSystemView;import javax.swing.tree.*;import javax.swing.*;import javax.swing.tree.DefaultTreeCellRenderer2.1.3 html转换首先要理解HTML文件和源程序文件都是文本文件,因此使用Java的文本输入流读入,文本输出流输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 创建、编译和运行Java程序17268 计算两个整数的和从键盘输入两个整数,计算并输出两个整数的和。
import java.util.Scanner;public class Main {public static void main(String[] args) {int a,b;Scanner input = new Scanner(System.in);a=input.nextInt();b=input.nextInt();int c = a + b;System.out.println(c);}}17269 输出两个整数中的较大的值从键盘输入两个整数,判断并输出两个整数中较大的值。
import java.util.Scanner;public class Main {public static void main(String[] args) {int a,b;Scanner input = new Scanner(System.in);a=input.nextInt();b=input.nextInt();if(a>b)System.out.println(a);elseSystem.out.println(b);}}实验2 基本数据类型、运算和表达式18135 在显示屏上显示指定字符要求编写一个程序,在显示屏上显示如下内容。
注:类名必须为Main(大写M) C:\ABC.TXT is "file"public class Main {public static void main(String[] args) {System.out.print("C:\\ABC.TXT is \"file\"");} }18136 计算圆的面积由键盘输入圆的半径,计算并输出圆的面积,结果保留2位小数。
注:类名必须为Main(大写M)import java.util.Scanner;import java.text.DecimalFormat;public class Main {public static void main(String[] args) {double a,b,c;Scanner input = new Scanner(System.in);a = input.nextDouble();b = 3.14159;c = a*a*b;System.out.println(new DecimalFormat("#.##").format(c));}}18138 输出三位整数的各位数字从键盘输入一个3位的整数,要求按照:个位、十位和百位的顺序输出三个数字。
输出时,每个数字占单独的一行。
注:类名必须为Main(M大写)i mport java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);int cr = input.nextInt();int b, c, d;b = cr / 100;c = cr /10 %10;d = cr % 10;System.out.println(""+ d);System.out.println(""+ c);System.out.println(""+ b);}}实验3 选择结构程序设计18139 判断点是否在圆上由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出N。
使用小数点后3位精度进行判断。
注:类名必须用Main(大写M)import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);double x = input.nextDouble();double y = input.nextDouble();double distance = Math.sqrt(x * x + y * y);if (Math.abs(distance - 1.0)< 0.001){System.out.println("Y");}else {System.out.println("N");} } }18140 求数的位数由键盘输入一个不多于9位的正整数,判断并输出它是几位数。
注:类名必须是Main(大写M)import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);int a,place;a = input.nextInt();if(a>99999999){place=9;}else if(a>9999999){place=8;}else if(a>999999){place=7;}else if(a>99999){place=6;}else if(a>9999){place=5;}else if(a>999){place=4;}else if(a>99){place=3;}else if(a>9){place=2;}else{place=1;}System.out.println(place);}}18141 数的排序由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。
注:类名必须是Main(M 大写)import java.util.Scanner;public class Main {public static void main(String[] args) {int a,b,c,temp;Scanner input = new Scanner(System.in);a = input.nextInt();b = input.nextInt();c = input.nextInt();if(a>b){temp = a;a = b;b = temp;}if(a>c){temp = a;a = c;c = temp;}if(b>c){temp = b;b = c;c = temp;}System.out.println(a + "," + b + "," + c);}}18142 数的整除由键盘输入5个整数,逐个判断它们能否被27整除,能的输出“YES”,不能的输出“NO”(注意,输出时,一个判断结果占一行,5个数的判断共占5行)。
注:类名必须是Main(大写M)import java.util.Scanner;public class Main {public static void main(String[] args) {int a,b,c,d,e;Scanner input = new Scanner(System.in);a = input.nextInt();b = input.nextInt();c = input.nextInt();d = input.nextInt();e = input.nextInt();if(a % 27 == 0){System.out.println("YES");}else {System.out.println("NO");}if(b % 27 == 0){System.out.println("YES");}else{System.out.println("NO");}if(c % 27 == 0){System.out.println("YES");}else{System.out.println("NO");}if(d % 27 == 0){System.out.println("YES");}else{System.out.println("NO");}if(e % 27 == 0){System.out.println("YES");}else{System.out.println("NO");}}}18143 正负奇偶判断由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇偶性,奇数输出odd,偶数输出even。
注:类名必须是Main(大写M)import java.util.Scanner;public class Main {public static void main(String[] args) {int x;Scanner input = new Scanner(System.in);x = input.nextInt();if(x>0){System.out.println("positive");}else {System.out.println("negative");}if(x % 2 == 0){System.out.println("even");}else{System.out.println("odd");}}}18144 简单四则运算器下面程序是实现一个简单的四则运算器(输出结果保留2位小数)。
输入时依次输入:第1个实数、运算符、第2个实数,程序根据运算符进行运算并输出结果。
在程序中的空白处填写恰当的代码,运行通过后在评判系统中提交。
import java.util.Scanner;public class Main {public static void main(String[] args) {float a, b, result;char operator;Scanner input = new Scanner(System.in);a = input.nextFloat();operator = input.next().charAt(0);b = input.nextFloat();switch (operator) {case '+':result=a + b;break;case '-': result=a - b;break;case '*': result=a * b;break;case '/': result=a / b;break;default:System.out.println("error");return;}System.out.printf("%.2f\n", result);}}实验4 循环结构程序设计18145 计算阶乘输入正整数n,计算n!,结果用长整型数表示(注n!=1*2*3*...*n)注:类名必须是Main(大写M)import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input= new Scanner(System.in);int num = 1;int x;x = input.nextInt();for(int i = x;i > 0;i--){num = num * i;}System.out.println(num);}}18146 计算数列和有数列1,3,5,7,9,11,…… ,现要求由键盘输入n,计算输出该数列的前n项和。