java初学者上机实验2
- 格式:pdf
- 大小:111.21 KB
- 文档页数:5
班级号_学号_姓名_题号.java(多文件应压缩为rar):实验1: 熟悉上机环境,编写并运行简单的java程序(3学时)实验目的(1)熟悉Java程序开发环境(2)熟悉Java Application和Applet程序的结构及开发步骤(3)熟练掌握if语句的使用(4)掌握Math.sqrt()等常用数学函数的用法(5)熟悉System.out.print()的用法实验内容及要求按Java Application和Applet两种方式分别编写程序,求一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。
1、public class wyy{public static void main (String[] w){float a=1,b=5,c=3,d=0,t=0;float k=0,j=0;k=b*b-4*a*c;j=(float)Math.sqrt((float)k);d=(-b+j)/4*a*c;t=(-b-j)/4*a*c;if(k<0)System.out.println("无根!");else if(k>0){System.out.println("第一个根为:"+d);System.out.println("第二个根为:"+t);}else if(k==0)System.out.println("有一个根"+d);}}2、import java.awt.*;import java.applet.*;public class wyy1 extends Applet{public void paint (Graphics g){float a=1,b=5,c=3,d=0,t=0;float k=0,j=0;k=b*b-4*a*c;j=(float)Math.sqrt((float)k);d=(-b+j)/4*a*c;t=(-b-j)/4*a*c;if(k<0)g.drawString("无根!",50,50);else if(k>0){g.drawString("第一个根为:"+d,50,50);g.drawString("第二个根为:"+t,50,100);}else if(k==0)g.drawString("有一个根"+d,50,50);}}3、//import java.io.*;/*一元二次方程求解其根*/import java.util.*;public class wyy{public static void main (String[] w){Scanner r=new Scanner(System.in);float a,b,c,d=0,t=0;float k=0,j=0,h,f,s;System.out.println("请输入a:");//Scanner 输入a的值a=(int)r.nextInt();System.out.println("请输入b:");//Scanner 输入b的值b=(int)r.nextInt();System.out.println("请输入c:");//Scanner 输入c的值c=(int)r.nextInt();System.out.println("方程式为:"+a+"x^2+"+b+"x+"+c);//显示方程式 /*求根*/k=b*b-4*a*c;j=(float)Math.sqrt((float)k);d=(-b+j)/2*a;t=(-b-j)/2*a;if(k<0)//求复根{k=4*a*c-b*b;j=(float)Math.sqrt((float)k);h=(int)(j/2*a);f=-b/2*a;s=-h;System.out.println("有两个复根,这两个复根为:");System.out.println("第一个根为:x1="+h+"i"+f);System.out.println("第二个根为:x2="+s+"i"+f);}else if(k>0)//求实根{System.out.println("有两个实根,这两个实根为:");System.out.println("第一个根为:x1="+d);System.out.println("第二个根为:x2="+t);}else if(k==0){System.out.println("有两个相同实根,这个实根为:");System.out.println("有一个根:x="+d);}}}思考并验证(1)分别给定以下几组系数,给出输出结果a=1,b=5,c=3a=4, b=4, c=1a=2, b=3, c=2:+ i + i(2)如果程序的public类的类名和源文件的文件名不一样会有什么问题?(3)将类的public修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么?不可以(4)将程序中main前面的public去掉,重新编译执行你的程序,你看到了什么信息?main method not public(5)将程序中main前面的static去掉,重新编译执行你的程序,你看到了什么信息?为什么?Fatal exception occurred. Program will exit.(6)本次上机中,你还遇到了什么问题,是如何解决的?班级号_学号_姓名_题号.java(多文件应压缩为rar):实验2:控制流程1(3学时)实验目的(1)进一步熟悉使用if语句(2)掌握循环语句实现循环的方法实验内容及要求输出时,只使用下面的语句:System.out.print(“”); //输出一个空格,并且不换行System.out.print(“*”); //输出一个字符’*’,并且不换行System.out.print(“+”); //输出一个字符’+’,并且不换行System.out.println(“*”;) //输出一个字符’*’,并换行编写程序输出(注:在图形的中心处有一个加号’+’):** * ** * * * ** * * + * * ** * * * ** * **public class图形{public static void main(String[ ] args){int i,j,k;for(i=0;i<=2;i++){for(j=0;j<=2-i;j++)System.out.print(" ");for(k=0;k<=2*i;k++)S ystem.out.print("*");System.out.print("\n");}for(i=0;i<7;i++){if(i<3)System.out.print("*");if(i==3)System.out.print("+");if(i>3)System.out.print("*");}System.out.print("\n");for(i=0;i<=2;i++){for(j=0;j<=i;j++)System.out.print(" ");for(k=0;k<=4-2*i;k++)System.out.print("*");System.out.print("\n");}}}思考并验证下面程序片段给出了从键盘输入一个整数的方法:import java.io.*;InputStreamReader ir;BufferedReader in;ir=new InputStreamReader(System.in);in=new BufferedReader (ir);try {String s=in.readLine();int i=Integer.parseInt(s);//转换成整形}catch(IOException e){}(1)如何修改程序,使得输出的图形可以很方便的在水平方向上移动?import java.util.*;public class wyy1{public static void main(String[ ] args){Scanner r=new Scanner(System.in);int i,j,k,a,b;System.out.print("请输入平移量a:");a=r.nextInt();//System.out.print("请输入行数b:");//b=r.nextInt();for(i=0;i<=2;i++){for(j=0;j<=2-i+a;j++)System.out.print(" ");for(k=0;k<=2*i;k++)S ystem.out.print("*");System.out.print("\n");}for(j=0;j<a;j++)System.out.print(" ");for(i=0;i<7;i++){if(i<3)System.out.print("*");if(i==3)System.out.print("+");if(i>3)System.out.print("*");}System.out.print("\n");for(i=0;i<=2;i++){for(j=0;j<=i+a;j++)System.out.print(" ");for(k=0;k<=4-2*i;k++)System.out.print("*");System.out.print("\n");}}}(2)如何修改你的程序,按输入行数n(为奇数)输出图形?import java.util.*;public class wyy1{public static void main(String[ ] args){Scanner r=new Scanner(System.in);int i,j,k,a,b;System.out.print("请输入平移量a:");a=r.nextInt();System.out.print("请输入行数b:");b=r.nextInt();for(i=0;i<=b/2-1;i++){for(j=0;j<=b/2-1-i+a;j++)System.out.print(" ");for(k=0;k<=2*i;k++)S ystem.out.print("*");System.out.print("\n");}for(j=0;j<a;j++)System.out.print(" ");for(i=0;i<b;i++){if(i<b/2)System.out.print("*");if(i==b/2)System.out.print("+");if(i>b/2)System.out.print("*");}System.out.print("\n");for(i=0;i<=b/2-1;i++){for(j=0;j<=i+a;j++)System.out.print(" ");for(k=0;k<=b-3-2*i;k++)System.out.print("*");System.out.print("\n");}}}选作:编程求支付方法的种数:取1元,2元,5元纸币10张,付给18元,有几种办法?import java.util.*;Scanner r=new Scanner(System.in);r.nextInt(); r.nextDouble();(C++版)#include<iostream.h>int main(){int x,y,z,counter=0;for(x=0;x<10;x++)for(y=0;y<10;y++)for(z=0;z<10;z++){if((x+y+z)<=10&&(5*x+2*y+z)==18)counter++;}cout<<counter<<endl;return 0;}public class wyy{public static void main(String[ ] args){int x,y,z,counter=0;for(x=0;x<10;x++)for(y=0;y<10;y++)for(z=0;z<10;z++){if((x+y+z)<=10&&(5*x+2*y+z)==18)counter++;}System.out.println("回文数共有:"+counter+"个!");}}班级号_学号_姓名_题号.java(多文件应压缩为rar):实验3:控制流程2(3学时)实验目的(1)掌握数据类型的含义(2)掌握break语句的使用(3)掌握用三种循环语句实现循环以及循环嵌套的方法实验内容及要求编程,计算11+22+33+……+66import java.util.*;//import java.awt.*;public class wyy1{public static void main(String[ ] args){Scanner r=new Scanner(System.in);double sum=0,h=0,n;System.out.println("请输入n:");//Scanner 输入a的值n=r.nextInt();for(int i=1,j=1;i<=n;i++,j++){h=(double)Math.pow( i,j);sum=sum+h;}System.out.println("sum="+sum);}}思考并验证(1)将内层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?(2)修改程序使之计算11+22+33+……+2020,你的程序能得出正确结果吗?若不能,应如何修改?import java.util.*;//import java.awt.*;public class wyy2{public static void main(String[ ] args){Scanner r=new Scanner(System.in);double sum=0,h=1,n;System.out.println("请输入n:");//Scanner 输入a的值n=r.nextInt();for(int i=1;i<=n;i++){for(int j=1;j<=i;j++)h=h*i;sum=sum+h;h=1;}System.out.println("sum="+sum);}}(3)考虑如何通过使用break语句修改这个程序,求出最大值n,使得11+22+…+n n小于等于long数据类型所能表示的最大值(即Long.MAX_V ALUE),并给出11+22+…+n n的确切值。
JA V A程序设计实验报告(二)院系:专业:班级:姓名:指导老师:试验时间:1.了解java的数据类型。
2.理解运算符的优先级。
3.理解java的程序语法结构,掌握程序结构。
4.通过编程,熟悉java语言编程规则。
二,实验要求熟悉java编程的基本要求,正确的编程,正确的输出运行程序,处理运算时出现的错误,基本达到熟练使用java编写程序。
三,实验设备与环境装有java的语言工具软件(myeclipse)的计算机四,实验内容题目:编写程序找出所有三位的降序数。
(个位数小于十位数且十位数小于百位数即升序数,如210。
)代码分析:public class test6{public static void main(String args[]){int x,a,b,c;for(x=100;x<1000;x++){a=x/100;b=(x-a*100)/10;c=x%10;if(a>b&&b>c){System.out.println("结果:"+x);}}}}六,心得体会通过对这两次的上机操作实验,使我对java语言编程有了更多的认识和感触。
我觉得java语言编程并不是想象中的那么困难,如果对其进行深入了解的话还是一门十分有趣的学科。
在编写程序中,一次次的对错误的更改也是一种全新的学习,而当算出了正确的结果后那心中又会产生一个小小的成就感。
我会尽力去学好这一门学科的!。
实验二:Java基本语法练习之迟辟智美创作一、实验目的及任务熟悉Java法式结构,掌握基本数据类型的使用方法,熟练运用分支、循环的使用方法.二、实验环境主机把持系统为Windows2000或Windows XP,已经配置好的JDK及Java编纂软件UltraEdit、Editplus或者TextPad 等软件中一种或多种.三、实验步伐1、使用Java编纂软件验证教材例题,参照教材对例题进行编写、编译并执行.2、课下在实验陈说纸上编写以下法式,并在上机课时编译并执行你所编写的法式,将编译及执行结果写在实验陈说纸上.1)设i是一个整数类型变量,写出下列问题对应的法式.(1)判断i为奇数或偶数;(2)判断i的值是否在0~9之间.public class Shu {public static void main(String[] args) {Scanner input = new Scanner(System.in);int i;System.out.println("请输入一个整数:(按回车)");i = input.nextInt();if(i % 2==0){System.out.println(i+"是一个偶数.");}elseSystem.out.printf(i+"是一个奇数.");if(0<=i&&i<=9){System.out.println(i+"在0~9之间");}elseSystem.out.println(i+"不在0~9之间");}}2)设ch是一个字符变量,写出下列问题对应的法式.(1)判断ch是一个十进制的数字字符;(2)判断ch是一个英文字母,不论年夜写或者小写;(3)将一个十进制的数字字符ch转换成对应的整数类型值.public class fun{public static void main(String[] args){char ch='A';if(ch>='0' && ch<='9'){System.out.println(ch+"是十进制数字符\n");}else if(ch>='a' && ch<='z'){System.out.println(ch+"是小写字母\n");}else if(ch>='A' && ch<='Z'){System.out.println(ch+"是年夜写字母\n");}}}public class haha2 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubchar a='h';if((a>=65 && a<=90)||(a>=97 && a<=122)){ System.out.println("a是字母");}if(a>=48 && a<=57){System.out.println("a是数字");}System.out.println("a转化为整形是"+(a+0));}}3、输出下列数字形式:11 2 11 2 3 2 11 2 3 4 3 2 1public class haha3 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint[][] a=new int[4][7];for(int i=0;i<4;i++){a[i][3]=i+1;a[i][2]=a[i][4]=i;a[i][1]=a[i][5]=i-1;a[i][0]=a[i][6]=i-2;for(int j=0;j<7;j++){if(a[i][j]>=1)System.out.print(a[i][j]);else{if(j==6){System.out.println(" ");}else{System.out.print(" ");}}}}}}四、实验陈说内容1、步伐2中所编写的法式,并将执行结果写在实验陈说纸上.实验三:数组和字符串练习一、实验目的及任务掌握Java数组、字符串的使用.二、实验环境主机把持系统为Windows2000或Windows XP,已经配置好的JDK及Java编纂软件UltraEdit、Editplus或者TextPad 等软件中一种或多种.三、实验步伐1、使用Java编纂软件验证教材例题,参照教材对例题进行编写、编译并执行.2、课下在实验陈说纸上编写以下法式,并在上机课时编译并执行你所编写的法式,将编译及执行结果写在实验陈说纸上.1)设一个一维数组的元素值为:7 4 8 9 1 5,请输出具有以下内容的方阵:2)找出两个字符串中所有共同的字符.public class e32 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubString a="hf",b="hfhh";for(int i=0;i<a.length();i++){for(int j=0;j<b.length();j++){if(a.charAt(i)==b.charAt(j)){System.out.print(b.charAt(j));}}}}}3)读入一个字符串str,判断其是否为标识符. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;public class e33 {public static void main(String[] args) {BufferedReader str=new BufferedReader( new InputStreamReader(System.in));try {String a=str.readLine();} catch (IOException e) {e.printStackTrace();}}}public class e3 {/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stubint[] a={7,4,8,9,1,5};for(int i=0;i<a.length;i++){System.out.print(a[i]);}System.out.println();System.out.print(a[5]);for(int i=0;i<a.length-1;i++){System.out.print(a[i]);}System.out.println();System.out.print(a[4]);System.out.print(a[5]);for(int i=0;i<a.length-2;i++){System.out.print(a[i]);}System.out.println();for(int i=3;i<a.length;i++){System.out.print(a[i]);}System.out.print(a[0]);System.out.print(a[1]);System.out.println(a[2]);for(int i=2;i<a.length;i++){System.out.print(a[i]);}System.out.print(a[0]);System.out.println(a[1]);for(int i=1;i<a.length;i++){System.out.print(a[i]);}System.out.println(a[0]);}}3、提高练习.根据题意边思考边将法式使用Java编纂软件编写出来.题意:读入一个浮点数值,将其转化为中文金额的年夜写方式,如123.45,转化为:壹佰贰拾叁元肆角伍分.编写法式实现题意并调试通过,针对以下多种数据情况下进一步完善法式.1)当金额为整数时,只暗示整数部份,省略小数部份,并添加“整”字.如123暗示为壹佰贰拾叁元整.2)当金额中含有连续的0时,只需写一个“零”即可.例如,10005暗示为:壹万零伍元整. 3)10的暗示方式.例如,110暗示为:壹佰一拾元整,而10暗示为拾元整.金额的中文年夜写方式.四、实验陈说内容1、步伐2、3中所编写的法式及其编译及执行结果写在实验陈说纸上.实验四:类和对象法式设计一、实验目的及任务理解面向对象封装性、继承性和多态性的基本概念,掌握声明类、封装类、继承类以及运行时多态性的实现方法.二、实验环境主机把持系统为Windows2000或Windows XP,已经配置好的JDK及Java编纂软件UltraEdit、Editplus或者TextPad 等软件中一种或多种.三、实验步伐1、使用Java编纂软件验证教材例题,参照教材对例题进行编写、编译并执行.2、课下在实验陈说纸上编写以下法式,并在上机课时编译并执行你所编写的法式,将编译及执行结果写在实验陈说纸上.1)界说一个类People,成员变量有姓名、出身日期、性别、身高、体重等,成员方法有计算年龄,并创立该类的对象. public class People {String name;String birth;String sex;Double hight;double weight;public People(){}public void age(){System.out.print(2012-Integer.parseInt(birth));}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubPeople p=new People();}}2)设已有类声明如下:public class Date1{int year, month, day;public void tomorrow() { }public void yestoday() { }}请写出实现其中tomorrow()方法和yestoday()方法的代码. public class Date1 {/*** @param args*/int year, month, day;public void tomorrow() {day++;System.out.println(year+":"+month+":"+day);}public void yestoday() {day--;System.out.println(year+":"+month+":"+day);}public static void main(String[] args) {// TODO Auto-generated method stub}}3)设计Number类(1)设计一个类Number1,有一个方法:求n的阶乘.(2)设计一个类Number2 ,它是Number1的子类,它有一个方法:求1+2+3+…+n.public class Number1 {int n;public int jiecheng(int n){int result;if(n==0){return 1;}else{return jiecheng(n-1)*n;}}/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stubNumber1 a=new Number1();System.out.print(a.jiecheng(4));}}public class Number2 {public void sum(int n){System.out.print(n*(n+1)/2);}/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stubNumber2 a=new Number2();a.sum(4);}}3、提高练习.根据题意边思考边将法式使用Java编纂软件编写出来.题意:设计银行账户类及存取款把持方法.设计一个银行账户类,其中包括:1)账户信息:账号、姓名、开户时间、身份证号码等.2)存款方法.3)取款方法.银行账户类声明为public,其中的功效变量声明为private,方法声明为public.public class Bank {private String name;private String bankno;private String idno;private String time;private static double moneny;public void add(double savemoney){this.moneny=this.moneny+savemoney;}public void fetch(double fetchmoney){this.moneny=this.moneny-fetchmoney;}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub}}四、实验陈说内容1、步伐2、3中所编写的法式及其编译及执行结果写在实验陈说纸上.。
1、实验一:多线程程序设计:炮打飞机实验目的:学会使用多线程进行并发程序设计实验内容:编写一个应用程序模拟大炮打飞机。
在GUI界面上,飞机水平飞行,用界面上的按钮控制大炮的运行方向(如向左,向右,向上,向下)。
当炮弹碰着飞机后,飞机坠落。
2、实验二:数据库编程:书目信息管理实验目的:掌握数据库编程技术。
能正确连接数据库,能对数据库中信息进行查询、插入、删除、修改。
实验内容:在数据库中创建一张书目信息表,包括书名、作者、出版社、出版日期、书号、价格字段。
设计一个GUI界面进行书目管理。
在该界面上有四个选项卡,分别是查询、插入、删除、修改。
点击查询选项卡,出现的界面上有书名、作者、出版社、书号四个文本框,一个按钮和一个只读文本区。
文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的“查询”按钮,可以在界面下方的文本区中显示出符合条件的书目详细信息。
点击插入选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。
在文本框中输入信息后,点击“插入”按钮,该书目信息插入数据库表中。
点击删除选项卡,出现的界面上有书名文本框和一个按钮,输入书名后点击“删除”按钮,该书目信息从数据库表中删除。
点击修改选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。
输入的书名必须是已存在的,否则会弹出消息框显示出错信息。
输入信息后,点击“修改”按钮,数据库表中的相应书目信息被修改为新值。
3、实验三:Applet编程:鸭子的移动实验目的:掌握Applet程序设计的方法,学会在Applet中绘制图片,能采用双缓冲技术进行图片绘制,会在Applet中采用多线程进行动画显示。
能在Applet中实现动画的平滑显示,避免闪烁现象。
实验内容:在Applet窗口中显示一只鸭子图片,要求这只鸭子以每秒100帧的速率水平移动,移到窗口边界再返回移动。
在窗口中点击鼠标,鸭子停止移动;再次点击鼠标,鸭子恢复移动。
实验二Java语言基础
一、实验目的
1.掌握标识符的定义规则。
2.掌握表达式的组成。
3.掌握各种数据类型及其使用方法。
4.理解定义变量的作用,掌握定义变量的方法。
5.掌握各种运算符的使用及其优先级控制。
二、实验内容
1.运行下面的程序,掌握变量定义与数据类型。
2.运行下面的程序,掌握算术运算。
3.运行下面的程序,掌握关系运算与逻辑运算
三、思考题
1.定义变量的作用是什么?
2.Java运算符的优先级与结合性是怎样的?
3.将本实验的实验内容1中的
long l=3615L;
改为:
long l=3615;
会出现什么情况?为什么?
提示:缺省的整型常量为int型,long型常量后面要加l或L。
4.将本实验的实验内容1中的
float f=0.23F;
改为: float f=0.23;
会出现什么情况?为什么?
提示:缺省的浮点型常量为双精度(double)型,单精度(float)型常量后面加f或F。
5.分析本实验的实验内容2中的语句
int j=i++;
int k=++i;
的执行过程。
提示: j=i i=i+1
以及 i=i+1 k=i
6.分析本实验的实验内容3中的语句
d=(f!=0&&a/f>5);
和语句
d=(f!=0&a/f>5);
有什么区别?
提示:对于快速逻辑与运算,当运算符左侧表达式的值为true时,不再计算右侧表达式的值。
实验⼆Java类编程实验实验⼆Java类编程实验实验⽬的1.掌握Java类的基本定义和使⽤⽅法2.熟悉Java语⾔的基本语法和运⾏原理3.掌握Java的基本数据类型、表达式和程序控制结构4.熟悉Eclipse开发环境的基本使⽤⽅法实验内容1. 对象的创建和使⽤使⽤集成开发环境编写⼀个圆环类Ring的Java程序。
圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius 和颜⾊color,这些属性通过get和set⽅法进⾏封装。
另外,圆环类中的getArea⽅法可以返回其⾯积。
把程序中的代码补充完整,并查看结果。
public class Ring {private double innerRadius;private double outerRadius;private String color;public Ring(double iRadius, double oRadius, String c) { //初始化数据成员}//⽤get和set⽅法封装数据成员public double getArea() {}public static void main(String[] args) {Ring ring = new Ring(5,8,"red");System.out.println("圆环的内半径: " +ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea() + "\n");ring.setInnerRadius(4);//设置圆环ring的外半径为6ring.setColor("blue");System.out.println("圆环的内半径: " + ring.getInnerRadius( ));System.out.println("圆环的外半径: " + ring.getOuterRadius( ));System.out.println("圆环的颜⾊: " + ring.color);System.out.println("圆环的⾯积: " + ring.getArea());}}思考:1)将程序中的语句Ring ring = new Ring(5,8,"red"); 改成Ring ring = newRing();修改后编译运⾏,此时有错误发⽣吗?分析错误的原因。
JA V A实验报告班级:计科1301姓名:雷云洁学号:0902130112实验日期:2014.11.20实验报告(1)实验内容:内容1:基本输出,以及同一个文件建立两个类public class My{public static void main(String[] args){System.out.println();}}class you{static String info="同学们好";}实验结果展示:内容2:基本框架的输出public class SimpleMenu{public static void main(String[] args){System.out.println("***************");System.out.println("* 1.求圆面积 *");System.out.println("* 2.求圆周长 *");System.out.println("* 0.退出 *");System.out.println("***************");}}实验结果展示:内容3:输出三角形(利用Applet类)import java.applet.Applet;import java.awt.Color;import java.awt.Graphics;public class Triangle extends Applet {public void paint(Graphics g){// TODO Auto-generated method stub super.paint(g);g.setColor(Color.red);g.drawLine(80, 20, 20,100);g.drawLine(20, 100, 140,100);g.drawLine(140, 100, 80, 20);g.setColor(Color.blue);g.drawString("三角形", 65, 80);}}实验结果展示:实验心得:通过这次上机我了解了Java的基本编程语句以及如何利用Applet类来编辑界面窗口等等,总之,我觉得学习Java主要考自己多钻研多调试才能出成果。
实验二面向对象基础一、实验目的:熟悉Java类的结构,掌握类的定义、方法和属性的定义以及对象的实现,通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法二、实验内容:1.定义一个“圆”类,该圆类的数据成员包括:圆心点位置及圆的半径;方法成员有:设置圆心位置、获取圆的圆心位置及构造方法。
要求构造方法、可以接收圆心位置参数,而半径使用缺省值1;2.定义以上圆的子类,使它具有获取半径方法、设置半径方法和构造方法,要求构造方法可同时接收圆心位置及半径两个参数;3.编写完整的程序实现上述两个圆类的对象,并且分别调用各种方法,对比这些方法的执行结果,并据此写出详细的实验报告。
4.掌握对修饰符的使用三、实验要求:1. 实现两个类的继承关系;2. 用多种方法实现两个类的对象;3. 程序应包括各个被调用方法的执行结果的显示。
4.四、实验步骤:第一部分:1.进入Java编程环境;2. 新建一个Java文件,命名为circles. java;3. 定义圆类fatherCircle,按实验内容1定义它的属性和方法;4. 定义子类sonCircle,按实验内容2定义它的属性和方法;5. 定义主类和主方法,构建上述两个类的对象fatherObject和sonObject,并通过这两个对象调用它们的属性和方法,输出方法执行结果。
第二部分:使用修饰符有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。
常用的修饰符如下。
[public] [private] [protected] [package] [static] [final] [transient] [volatile]不同修饰符的访问控制权限如表6.1 所示。
(1)程序功能:通过两个类说明静态变量、方法与实例变量、方法的区别。
Java程序设计-试验2(学生版)
华北电力大学
实验报告
实验名称Java程序面向对象设计(一)课程名称Java程序设计
专业班级:学生姓名:
学号:成绩:指导教师:张学斌实验日期:
自己的speed的值增加80
【代码10】//car2调用speedUp方法将自己的speed的值增加80
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
car1.speedDown(10);
car2.speedDown(20);
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
}
}
1.3 实验指导
●创建一个对象时,成员变量被分配空间,这些内
存空间称作该对象的实体或变量,而对象中存放着引用,以确保这些变量被该对象操作使用。
●空对象不能使用,即不能让一个空对象去调用方
法产生行为。
假如程序中使用了空对象,在运行时会产生异常:NullPointerException,对象时。