Java面向对象基础小练习。

    最后回顾一遍面向对象基础部分,后面就开始慢慢进阶了。

    所有题目均来自:https://www.jianshu.com/p/886252693889

    在练习中,有意识的规范代码格式,发现新东西,这才是练习的目的。

    原帖中源代码就不贴上来了,贴上的的均为本人所编写,类、变量命名参考原帖。


    【练习题】01.类的成员变量 猜数字游戏一个类A有一个成员变量v有一个初值100。定义一个类对A类的成员变量v进行猜。如果大了则提示大了小了则提示小了。等于则提示猜测成功。

package practise;

import java.util.Scanner;

public class Variable {
/*
 * 01.类的成员变量 猜数字游戏一个类A有一个成员变量v有一个初值100。
 * 定义一个类对A类的成员变量v进行猜。
 * 如果大了则提示大了小了则提示小了。
 * 等于则提示猜测成功。
 */
	public static void main(String[] args) {
		A a =new A();
		Scanner input = new Scanner(System.in);
		while(true){
			int i = input.nextInt();
			if(i > a.v){
				System.out.println("猜大了");
				continue;
			}
			if(i < a.v ){
				System.out.println("猜小了");
				continue;
			}
			if(i == a.v ){
				System.out.println("猜对了");
				break;
			}
		}
	}
}
class A{
	int v = 100;
}
    【练习题】02.类的成员变量 请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等 方法移动(move())设置速度(setSpeed(int speed))加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且通过打印出来。另外调用加速减速的方法对速度进行改变。
package practise;

public class test2 {
/*
 * 02.类的成员变量 请定义一个交通工具(Vehicle)的类其中有: 
 * 属性速度(speed)
 * 体积(size)等等 
 * 方法移动(move())
 * 设置速度(setSpeed(int speed))
 * 加速speedUp(),
 * 减速speedDown()等等. 
 * 最后在测试类Vehicle中的main()
 * 中实例化一个交通工具对象并通过方法给它初始化speed,
 * size的值并且通过打印出来。
 * 另外调用加速减速的方法对速度进行改变。
 */
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Vehicle v = new Vehicle(30);
		v.move();
		v.prin();
		v.setSpeed(20);
		v.move();
		v.prin();
		v.speedUp();
		v.move();
		v.prin();
		v.speedDown();
		v.move();
		v.prin();
	}

}
/*
 * 02.类的成员变量 请定义一个交通工具(Vehicle)的类其中有: 
 * 属性速度(speed)
 * 体积(size)等等 
 * 方法移动(move())
 * 设置速度(setSpeed(int speed))
 * 加速speedUp(),
 * 减速speedDown()等等. 
 * 最后在测试类Vehicle中的main()
 * 中实例化一个交通工具对象并通过方法给它初始化speed,
 * size的值并且通过打印出来。
 * 另外调用加速减速的方法对速度进行改变。
 */
class Vehicle{
	private int speed;
	private int size;
	public Vehicle(){
		this.speed = 0;
		this.size = 0;
	}
	public Vehicle(int speed){
		this.speed = speed;
		this.size = 0;
	}
	
	public void  move(){
		size+=speed;
	}
	public void setSpeed(int speed){
		this.speed =speed;
	}
	public void speedUp(){
		++speed;
	}
	public void speedDown(){
		--speed;
	}
	public void prin(){
		System.out.println(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) 分别对时、分、秒进行加减运算。
注:写这个的时候发现, 错误:找不到或无法加载主类
       最后发现原因是: 类文件名冲突:存在使用另一大小写的资源
        当时情况是我在MyTime里新建了一个类myTime导致的错误
        回顾知识的时候,哪怕只学习到一点新知识,都是进步。
package practise;

public class MyTime {
/*
 * 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) 分别对时、分、秒进行加减运算。
 */
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Time time = new Time(1,2,3);
		time.diaplay();
		time.subHour(1);
		time.diaplay();
		time.subMinute(1);
		time.subSecond(1);
		time.diaplay();
	}

}
/*
 * 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) 分别对时、分、秒进行加减运算。
 */
 class Time{
	
	private int hour;
	private int minute;
	private int second;
	public Time(int hour, int minute, int second) {
		this.hour = hour;
		this.minute = minute;
		this.second = second;
	}
	public void diaplay(){
		System.out.println("当前时间:"+hour+":"+minute+":"+second);
	}
	public void addMinute(int min){
		minute = minute+min;
	}
	public void addHour(int hour){
		this.hour+=hour;
	}
	public void addSecond(int sec){
		second+=sec;
	}
	public void subHour(int hour){
		this.hour-=hour;
	}
	public void subMinute(int minute){
		this.minute-=minute;
	}
	public void subSecond(int second){
		this.second-=second;
	}
}
    【练习题】04.构造方法 编写Java程序模拟简单的计算器。 定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘multiplication、除division等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象调用各个方法并显示计算结果。
package practise;
/*
 * 04.构
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值