实验五 类与面向对象编程(二)
一、实验目的
1. 2. 3. 4. 5. 6.
理解方法的赋值调用和引用。
理解main方法的作用及其命令行参数的使用。 理解方法的重载的含义和使用。
掌握非访问控制符static、final的作用。
掌握访问控制符public、private、protected和缺省控制符的作用 掌握包的建立和调用。
二、实验内容:
1. 读程序,写出程序运行结果。体会方法的值传递,并上机验证。
public class Shiyan5_1{
public static void main(String args[ ]){
int max=0; max(1,2,max);
System.out.println(\}
public static void max(int value1,int value2,int max){
if(value1>value2)
max=value1; else
max=value2;
} }
提示:程序输出结果是什么?要是想要实现从两个数字中输出最大的数应该怎么修改? 2. 将程序补充完整。
(1)体会方法的递归调用,并上机验证。 public class Shiyan5_21{
public static void main(String[] args) {
int sum=add(10);
System.out.println(\ }
public static int add(__________){ int sum;
if(n= =1){
_________; } else
________; _________;
}
}
(2) 体会main方法的命令行参数的使用,并上机验证。
public class Shiyan5_22{
public static void main( ______args) {
int num;
___________; if(num= =0)
System.out.println(\for(__________){
System.out.println(\} } }
(3)编写静态方法check(),若成绩大于等于60,返回pass,否则返回fall;在main方法中测试该方法。
public class Shiyan5_23{
public static void main(String args[]) {
int score=75;
System.out.println(score+\ }
static String check(__________){
String str; __________
str=\else
str=\__________; } }
问:若将check()方法的static去掉,如何修改main()方法使得程序正常运行,并上机验证。
(4)体会方法的引用传递和值传递,读程序写出运行结果,并上机验证。
public class Shiyan5_24 {
public static void main(String[] args) { Count co=new Count(); int times=0;
for(int i=0;i<100;i++)
increment(co,times);
System.out.println(\System.out.println(\}
private static void increment(Count co, int times) { co.count++;
times++; }
}
class Count{ public int count; Count(int c){
count=c; }
Count(){
count=1; } }
修改方法为实例方法,看一看调用上有什么不同,注意静态方法可以用类名作前缀来调用。
3. 编写静态方法,判断一个数是奇数还是偶数,若是奇数返回1,若是偶数返回0,编写
java应用程序调用该方法求1-100的所有奇数。
试一试:将静态方法方法改成非静态方法,结果会是怎么样?
4. 编写两个类:A和B,类A创建的对象可以计算两个数的最大公约数,类B创建的对
象可以计算两个数的最小公倍数。
要求:B类中有一个成员变量是用A类来声明的对象。
提示:
class A{
/** 接收整数m,n,m和n为任意两个数
方法返回最大公约数结果 */
int f(int m,int n){
...... //自行写出方法代码
} }
class B{
A a; B(){
a=new A(); }
int g(int m,int n){ //求最小公倍数
int temp=a.f(m,n); return m*n/temp; }
}
5. 将上题的A类和B类分别放在两个包里,如何修改程序,并编写测试程序验证。 注意:在编译时最好用javac –d . A.java 来生成包。
6. 写一个名为Rectangle的类表示矩形。包括宽width、高height和颜色color三个成员变
量,其中width和height是double型的,color是String型的。假定所有矩形颜色相
完整word版,实验05 - 类与面向对象编程(二)



