java实验报告1-软工1202.doc_第1页
java实验报告1-软工1202.doc_第2页
java实验报告1-软工1202.doc_第3页
java实验报告1-软工1202.doc_第4页
java实验报告1-软工1202.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计实验报告实验(训)报告学号:122302047 姓名:游锟 班级:软工1202实验时间:2014-3-14 实验地点:A4049 指导老师: 刘艳梅实验名称实验1 Java语言类的特性实验目的1、熟悉Eclipse集成环境,掌握Java输入输出语句,并完成编程;2、掌握一维数组元素的访问及使用操作;3、理解类的构造方法的作用、执行过程、this指针的使用;4、理解类的方法重载的概念。一、实验题目1、编写一个java程序,在程序中通过键盘输入常用的数据,包括字符串、整数和浮点数。import java.util.*; public class InputNum public static void main(String args) int a=0; float b=0F; double c=0D; String s=; Scanner reader=new Scanner(System.in); System.out.print(从键盘输入一串字符:); /代码1调用reader的nextLine方法,并把读入的数据赋值给s System.out.println(你输入的字符串是+s); System.out.print(从键盘输入一个整数:); /代码2调用reader的nextInt方法,并把读入的数据赋值给a System.out.println(你输入的一个整数是+a); System.out.print(从键盘输入一个单精度浮点数:); /代码3调用reader的nextFloat方法,并把读入的数据赋值给b System.out.println(你输入的一个单精度浮点数是+b); System.out.print(从键盘输入一个双精度浮点数:); /代码4调用reader的nextDouble方法,并把读入的数据赋值给c System.out.println(你输入的一个双精度浮点数+c); 2、编写一个Java程序,定义一个长度为5的整型数组,要求用户从键盘中为每个元素输入一个整数,然后输出每个数组元素的内容,再输出数组中最大整数值和最小整数值。import java.util.*;public class LinearB public static void main(String args) int i,max,min; /代码1定义一个整形数组a,含5个元素,并为之分配内存空间 Scanner reader=new Scanner(System.in); /代码2提示用户从键盘输入5个整数,并把这些整数存储到对应的数组元素中 max=min=a0; for(i=0;ia.length;i+) /代码3如果ai大于max,则把maxi赋值给max /代码4如果ai小于min,则把mini赋值给min System.out.println(最大数字是:+max+n最小数字是:+min); 3、编写一个java程序,在程序中定义一个Student类,Student类有三个构造方法,分别对不同的属性进行初始化。public class Student String name;int age;public Student() System.out.println(Student()构造方法被调用);/代码1定义一个Student类的构造方法,该方法能接收一个字符串参数,在方法体中,把该参数/赋值给name属性,并且显示“Student(String name)构造方法被调用”/代码2定义一个Student类的构造方法,该方法能接收一个字符串参数与一个整数参数,在方法/体中,把字符串参数赋值给name属性,把整数参数赋值给age属性,并且显示“Student(String /name,int age)构造方法被调用”public static void main(String args) /代码3创建Student类的一个对象,不传入参数/代码4创建Student类的一个对象,传入一个参数:”张三“/代码5创建Student类的一个对象,传入两个参数:”张三“,154、编写一个java程序,在程序中定义一个Employee类,Employee类有4个构造方法,分别对不同的属性进行初始化,有一个setAge()方法设置age属性值,有一个getAge()方法能返回age属性值。public class Employee private String name; private int age; private double salary; public Employee(String newName, int newAge, double newSalary) /代码1要求调用两个参数的构造方法,传入参数newAge和newSalary System.out.println(三个参数的构造方法被调用); name = newName; public Employee(int newAge, double newSalary) /代码2要求调用一个参数的构造方法,传入参数newSalary System.out.println(两个参数的构造方法被调用); age = newAge; public Employee(double newSalary) /代码3要求调用没有参数的构造方法 System.out.println(一个参数的构造方法被调用); salary = newSalary; public Employee() System.out.println(没有参数的构造方法被调用); void setAge(int newAge) int age = 0; /代码4设置age属性的值为newAge int getAge() return age; public static void main(String args) Employee s1 = new Employee(李四, 30, 8000); s1.setAge(31); System.out.println(年龄是 + s1.getAge(); 5、编写一个Java程序,在程序中定义一个MyPlus类,MyPlus类有三个plus()方法,分别对不同的参数进行求和。public class MyPlus public int plus(int a, int b) int s; s = a + b; return s; public int plus(int a, int b, int c) int s; /代码1要求调用两个参数的plus方法,得到a+b+c的和 return s; public int plus(int a, int b, int c, int d) int s; /代码2要求调用三个参数的plus方法,得到a+b+c+d的和 return s; public static void main(String args) MyPlus p = new MyPlus(); /代码3调用plus()方法求1+2的值并显示 /代码4调用plus()方法求1+2+3的值并显示 /代码5调用plus()方法求1+2+3+4的值并显示 6、思考与提高题目:程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1对x 和y 做乘方及输出x 和y 的乘方值,最后再输出x 和y 的乘方值。分析如下源代码,有什么问题?请指明原因,并将代码修改正确。public class Test_1 public static void main(String args) int x = 10, y = 10; System.out.println(初始时:x= + x + , y= + y); ff1(x, y); System.out.println(方法调用后:x= + x + , y= + y); static void ff1(int passX, int passY) int x,y; x = passX * passX; y = passY * passY; System.out.println(方法调用中:x= + x + , y= + y); 二、实验内容及结果1、答案:【代码1】s=reader.nextLine();【代码2】a=reader.nextInt();【代码3】b=reader.nextFloat();【代码4】c=reader.nextDouble();2、答案:【代码1】int a =new int5;【代码2】System.out.println (依次输入五个数); for( i=0;imax) max=ai; 【代码4】if(aimin) min=ai; 3、答案:【代码1】public Student(String name)=name;System.out.println(Student(String name)构造方法被调用);【代码2】public Student(String name,int age)=name;this.age=age;System.out.println(Student(String name,int age)构造方法被调用);【代码3】Student s1=new Student();【代码4】Student s2=new Student(张三);【代码5】Student s3=new Student(张三,15);4、答案:【代码1】this( newAge,newSalary);【代码2】this(newSalary);【代码3】this.getAge();【代码4】age=newAge;5、答案:【代码1】s=a+b; s=s+c;【代码2】s=a+b;s=s+c;s=s+d【代码3】System.out.println(1+2=+p.plus(1,2);【代码4】System.out.println(1+2+3=+p.plus(1,2,3);【代码5】System.out.println(1+2+3+4=+p.plus(1,2,3,4);6、答案:存在问题:通过类里面方法的调用,不能够改变变量X,Y的值,最后返回的值任然是之前变量的值。原因:Java中参数的传递分为两种:值传递和地址传递,而对于前者形参接受了实参的值它们传递的是变量的内容而对于变量地址没有改变。 正确方案:(提示:通过创建类后,调用对象的方法在方法调用后修改了成员变量的值。)修改后的代码为:class test int x, y;void ff1(int passX, int passY) x = passX * passX;y = passY * passY;System.out.println(方法调用中:x= + x + , y= + y);public class Test_1 public static void main(String args) test x1 = new test();in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论