最后回顾一遍面向对象基础部分,后面就开始慢慢进阶了。
所有题目均来自: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.构