java练习7.16——类的成员方法

/* 
* 作    者:  车笠
* 问题分析: 根据Java的面向对象性,写的4个小例子,都很直接的体现了这一特点。

*/  

1、编写一个成员方法,从键盘输入三个数,输出最大值。

import java.util.*;


public class TestPerson {
	
	public void max(double a1,double a2,double a3)
	{
		
		System.out.println("最大值为"+((((a1>a2)?a1:a2)>a3)?((a1>a2)?a1:a2):a3));
	}
	public static void main(String arg[])
	{
		Scanner in=new Scanner(System.in);
		System.out.println("请输入第一个数:");
		String s1=in.next();
		System.out.println("请输入第二个数:");
		String s2=in.next();
		System.out.println("请输入第三个数:");
		String s3=in.next();
		double d1=Double.parseDouble(s1);
		double d2=Double.parseDouble(s2);
		double d3=Double.parseDouble(s3);
		TestPerson a1=new TestPerson();
		a1.max(d1, d2, d3);
		
		
	}
}

奉上运行截图:


2、编写一函数,从控制台输入一数字,得到对应行数的金字塔。

import java.util.*;

public class Pyramid {
	public void Paint(int floor)
	{
		System.out.println("输出行数为"+floor+"的金字塔");
		for(int i=0;i<floor;i++)
		{
			int j=0,k=0;
			for(k=0;k<floor-i;k++)
			{
				System.out.print(" ");
			}	
			for(j=floor-i;j<=floor+i;j++)
			{
				System.out.print("*");
			}
			System.out.println();
		}
	}
	public static void main(String arg[])
	{
		Scanner in=new Scanner(System.in);
		System.out.println("请输入一个数:");
		String s=in.next();
		int num=(int)(Double.parseDouble(s));
		Pyramid jzt=new Pyramid();
		jzt.Paint(num);
	}

}

 


3、编写一函数,从控制台输入一数字,得到对应行数的乘法表。

import java.util.Scanner;


public class Multiplication {
	public void paint(int x)
	{
		System.out.println("输出行数为"+x+"的乘法表");
		 int array[][] = new int[10][10];
			for(int i=1;i<=x;i++){
				for(int j=1;j<=i;j++){
					array[i][j] = i*j;
					System.out.print(i+"*"+j+"="+array[i][j]+"\t");
				}
				System.out.println("");
			}
	}
	public static void main(String arg[])
	{
		Scanner in=new Scanner(System.in);
		System.out.println("请输入一个数:");
		String s=in.next();
		int num=(int)(Double.parseDouble(s));
		Multiplication c=new Multiplication();
		c.paint(num);
	}


}


4、编写一函数,使3X3的二维数组转置。

import java.util.Scanner;


public class Transpose {
	public void Change(int[][] a)
	{
		System.out.println("原数组值:");
		for(int i=0;i<3;i++)
		{
			for(int j=0;j<3;j++)
			{


				System.out.print(a[i][j]+" ");
			}
			System.out.println();
		}
		
		System.out.println("置换后数组值:");
		for(int i=0;i<3;i++)
		{
			for(int j=i;j<3;j++)
			{
				int temp=a[i][j];
				a[i][j]=a[j][i];
				a[j][i]=temp;
			}
		}
		for(int i=0;i<3;i++)
		{
			for(int j=0;j<3;j++)
			{
				System.out.print(a[i][j]+" ");
			}
			System.out.println();
		}
	}
	public static void main(String agr[])
	{
		Transpose z=new Transpose();
		int a[][]=new int [3][3];
		System.out.println("请输入一个数组:");
		Scanner in=new Scanner(System.in);
		for(int i=0;i<3;i++)
		{
			for(int j=0;j<3;j++)
			{
				a[i][j]=in.nextInt();
			}
		}
		z.Change(a);
	}


}


所谓面向对象就像面向客户的公司一样,里面的具体操作我已经封装好了,只牵涉内部人员,如果客户需要应用,那么就请从我所提供的入口进去,在我所制定的体制内活动。

管窥之论,愿君斧正。


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
练习题】01.的成员变量 猜数字游戏 一个A有一个成员变量v 有一个初值100。定义一个 对A的成员变量v 进行猜。如果大了则提示大了 小了则提示小了。等于则提示猜测成功。 【练习题】02.的成员变量 请定义一个交通工具(Vehicle)的 其中有: 属性 速度(speed) 体积(size)等等 方法 移动(move()) 设置速度(setSpeed(int speed)) 加速speedUp(),减速speedDown()等等. 最后在测试Vehicle中的main()中实例化一个交通工具对象 并通过方法给它初始化sp eed,size的值 并且通过打印出来。另外 调用加速 减速的方法对速度进行改变。 【练习题】03.的成员变量与方法、构造方法 在程序中 经常要对时间进行操作 但是并没有时间型的数据。那么 我们可以自己实现 一个时间 来满足程序中的需要。 定义名为MyTime的 其中应有三个整型成员 时 hour 分 minute 秒 second 为了保 证数据的安全性 这三个成员变量应声明为私有。 为MyTime定义构造方法 以方便创建对象时初始化成员变量。 再定义diaplay方法 用于将时间信息打印出来。 为MyTime添加以下方法 addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 【练习题】04.构造方法 编写Java程序 模拟简单的计算器。 定义名为Number 其中有两个整型数据成员n1和n2 应声明为私有。编写构造方法 赋 予n1和n2初始值 再为该定义加 addition 、减 subtration 、乘 multiplication 、 除 division 等公有成员方法 分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number的对象 调用各个方法 并显示计算结果。 【练习题】05.构造方法 编写Java程序 用于显示人的姓名和年龄。 定义一个人 Person 该中应该有两个私有属性 姓名 name 和年龄 age 。定义构造 方法 用来初始化数据成员。再定义显示 display 方法 将姓名和年龄打印出来。 在main方法中创建人的实例 然后将信息显示。 【练习题】06.get方法和set方法 定义一个有一个私有成员变量 通过构造方法将其进行赋初值 并提供该成员的g etXXX()和setXXX()方法 提示 假设有private String name;则有 public void setName(String name){ this.name = name; } public String getName(){ return this.name; } 【练习题】07.构造方法与重载 为"无名的粉"写一个 class WuMingFen 要求 1.有三个属性 面码:String theMa 粉的分量(两) int quantity 是否带汤 boolean likeSoup 2.写一个构造方法 以便于简化初始化过程 如 WuMingFen f1 = new WuMingFen("牛肉",3,true); 3.重载构造方法 使得初始化过程可以多样化 WuMingFen f2 = new WuMingFen("牛肉",2); 4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的 WuMingFen f3 = new WuMingFen(); 5.写一个普通方法 check() 用于查看粉是否符合要求。即 将对象的三个属性打印在控 制台上。 【练习题】08.构造方法的重载 定义一个名为Vehicles 交通工具 的基中应包含String型的成员属性brand 商 标 和color 颜色 还应包含成员方法run 行驶 在控制台显示"我已经开动了" 和showI nfo 显示信息 在控制台显示商标和颜色 并编写构造方法初始化其成员属性。 编写Car 小汽车 继承于Vehicles 增加int型成员属性seats 座位 还应增加成员方 法showCar 在控制台显示小汽车的信息 并编写构造方法。 编写Truck 卡车 继承于Vehicles 增加float型成员属性load 载重 还应增加成员 方法showTruck 在控制台显示卡车的信息 并编写构造方法。 在main方法中测试以上各。 【练习题】09.构造方法与重载 定义一个网络用户 要处理的信息有用户ID、用户密码、email地址。在建立的实例 时 把
写在前面的话 引言 1. 前提 2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 实现方案的隐藏 1.4 方案的重复使用 1.5 继承:重新使用接口 1.5.1 改善基础 1.5.2 等价和似关系 1.6 多形对象的互换使用 1.6.1 动态绑定 1.6.2 抽象的基础和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 Java和因特网 1.11.1 什么是Web? 1.11.2 客户端编程 1.11.3 服务器端编程 1.11.4 一个独立的领域:应用程序 1.12 分析和设计 1.12.1 不要迷失 1.12.2 阶段0:拟出一个计划 1.12.3 阶段1:要制作什么? 1.12.4 阶段2:开始构建? 1.12.5 阶段3:正式创建 1.12.6 阶段4:校订 1.12.7 计划的回报 1.13 Java还是C++? 第2章 一切都是对象 2.1 用句柄操纵对象 2.2 必须创建所有对象 2.2.1 保存在什么地方 2.2.2 特殊情况:主型 2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据型: 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 2.8.1 注释文档 2.8.2 具体语法 2.8.3 嵌入 2.8.4 @see:引用其他 2.8.5 文档标记 2.8.6 变量文档标记 2.8.7 方法文档标记 2.8.8 文档示例 2.9 编码样式 2.10 总结 2.11 练习 第3章 控制程序流程 3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术运算符 3.1.4 自动递增和递减 3.1.5 关系运算符 3.1.6 逻辑运算符 3.1.7 按位运算符 3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 3.2.1 真和假 3.2.3 反复 3.2.6 中断和继续 3.2.7 切换 3.3 总结 3.4 练习 第4章 初始化和清除 4.1 由构建器保证初始化 4.2 方法过载 4.2.1 区分过载方法 4.2.2 主型的过载 4.2.3 返回值过载 4.2.4 默认构建器 4.2.5 this关键字 4.3 清除:收尾和垃圾收集 4.3.1 finalize()用途何在 4.3.2 必须执行清除 4.4 成员初始化 4.4.1 规定初始化 4.4.2 构建器初始化 4.5 数组初始化 4.5.1 多维数组 4.6 总结 4.7 练习 第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 访问 5.5 总结 5.6 练习 第6章 再生 6.1 合成的语法 6.2 继承的语法 6.2.1 初始化基础 6.3 合成与继承的结合 6.3.1 确保正确的清除 6.3.2 名字的隐藏 6.4 到底选择合成还是继承 6.6 递增开发 6.7 上溯造型 6.7.1 何谓“上溯造型”? 6.8 final关键字 6.8.1 final数据 6.8.2 final方法 6.8.3 final 6.8.4 final的注意事项 6.9 初始化和装载 6.9.1 继承初始化 6.10 总结 6.11 练习 第7章 多形性 7.1 上溯造型 7.1.1 为什么要上溯造型 7.2 深入理解 7.2.1 方法调用的绑定 7.2.2 产生正确的行为 7.2.3 扩展性 7.3 覆盖与过载 7.4 抽象

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值