申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
全文共计17671字,阅读大概需要10分钟
欢迎关注我的个人公众号:不懂开发的程序猿
题目01
/* 要求:(1)创建Person类的对象,设置该对象的name、 age和sex属性,调用study方法,输出字符串 “studying”,调用showAge()方法显示age值,调用 addAge()方法给对象的age属性值增加2岁。 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 11:16 */ public class Exer1 { /* 要求:(1)创建Person类的对象,设置该对象的name、 age和sex属性,调用study方法,输出字符串 “studying”,调用showAge()方法显示age值,调用 addAge()方法给对象的age属性值增加2岁。 */ public static void main(String[] args) { Person person = new Person(); person.study(); person.showAge(); person.addAge(); } } class Person { int age = 15; String name = "jerry"; int sex = 1; public void study() { System.out.println("studying"); } public int showAge() { return age; } public int addAge() { return age += 2; } }
题目02
/* 方法的声明与调用 (1)声明一个圆柱体类型, (2)声明属性:底边的半径,和高 (3)声明方法: A:方法的功能:在方法中打印圆柱体的详细信息 圆柱体的底边的半径是xxx,高是xxx,底面积是xxx,体积是xxx。 B:方法的功能:返回底面积 C:方法的功能:返回体积 D:方法的功能:为圆柱体的底边的半径,和高赋值 E:方法的功能:为圆柱体的底边的半径,和高赋值,并返回赋值的结果 如果底边的半径或高为<=0,赋值失败,返回false,否则返回true (4)并测试 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 16:06 */ public class Exer2 { /* 方法的声明与调用 (1)声明一个圆柱体类型, (2)声明属性:底边的半径,和高 (3)声明方法: A:方法的功能:在方法中打印圆柱体的详细信息 圆柱体的底边的半径是xxx,高是xxx,底面积是xxx,体积是xxx。 B:方法的功能:返回底面积 C:方法的功能:返回体积 D:方法的功能:为圆柱体的底边的半径,和高赋值 E:方法的功能:为圆柱体的底边的半径,和高赋值,并返回赋值的结果 如果底边的半径或高为<=0,赋值失败,返回false,否则返回true (4)并测试 */ public static void main(String[] args) { Cylinder cylinder = new Cylinder(); cylinder.setParam(3.0, 2.0); cylinder.printDetails(); System.out.println("底面积是:"+cylinder.getSquare()); System.out.println("体积是:"+cylinder.getVolume()); } } class Cylinder { double radius, height; public void printDetails(){ System.out.println("圆柱体的底边的半径是"+radius+",高是"+height+",底面积是"+getSquare()+",体积是"+getVolume()); } public double getSquare(){ double area=Math.PI*radius*radius; return area; } public double getVolume(){ double volume = getSquare()*height; return volume; } public void setParam(double radius,double height){ this.radius=radius; this.height=height; } public boolean getParam(double radius, double height){ if (radius<0||height<0){ return false; } setParam(radius, height); return true; } }
题目03
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 16:14 */ public class Exer3 { public static void main(String[] args) { Phone phone = new Phone(); phone.playGame(); phone.sendEmail(); phone.showPrice(); } } class Phone { double price=1999.0;//价格 public void sendEmail(){ System.out.println("发送邮件"); } public void playGame(){ System.out.println("玩游戏"); } public void showPrice(){ System.out.println("手机价格为:" + price); } }
题目04
/* 利用面向对象的编程方法,设计类Circle计算圆的面积 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 16:40 */ public class Exer4 { /* 利用面向对象的编程方法,设计类Circle计算圆的面积 */ public static void main(String[] args) { Circle circle = new Circle(); circle.setRadius(3.0); System.out.println("圆的面积: "+circle.getCircle()); } } class Circle{ double radius; public void setRadius(double radius){ this.radius=radius; } public double getCircle(){ double area = Math.PI*radius*radius; return area; } }
题目05
/* 编写程序,声明一个method方法,在方法中打印一个10*8 的*型矩形,在main方法中调用该方法。 */ /* 修改上一个程序,在method方法中,除打印一个10*8的*型矩形外,再计算该矩形的面积,并将其作为方法返回值。在main方法中调用该方法,接收返回的面积值并打印。 */ /* 修改上一个程序,在method方法提供m和n两个参数,方法中打印一个m*n的*型矩形,并计算该矩形的面积, 将其作为方法返回值。在main方法中调用该方法,接收返回的面积值并打印。 */
package com.jerry.java; import java.util.Scanner; /** * @author jerry_jy * @create 2022-09-26 17:00 */ public class Exer5 { /* 编写程序,声明一个method方法,在方法中打印一个10*8 的*型矩形,在main方法中调用该方法。 */ /* 修改上一个程序,在method方法中,除打印一个10*8的*型矩形外,再计算该矩形的面积,并将其作为方法返回值。在main方法中调用该方法, 接收返回的面积值并打印。 */ /* 修改上一个程序,在method方法提供m和n两个参数,方法中打印一个m*n的*型矩形,并计算该矩形的面积, 将其作为方法返回值。在main方法 中调用该方法,接收返回的面积值并打印。 */ public static void main(String[] args) { Method method = new Method(); System.out.println("请输入矩形的长:"); Scanner scanner1 = new Scanner(System.in); double height = scanner1.nextDouble(); System.out.println("请输入矩形的宽:"); Scanner scanner2 = new Scanner(System.in); double width = scanner2.nextDouble(); method.setParam(height, width); method.printRec(); System.out.println("该矩形的面积: " + method.getArea()); } } class Method { double height, width; public void setParam(double height, double width) { this.height = height; this.width = width; } public void printRec() { for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { System.out.print("*" + "\t"); } System.out.println(); } } public double getArea() { double area = height * width; return area; } }
题目06
/* 4. 对象数组题目: 定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。 问题一:打印出3年级(state值为3)的学生信息。 问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息 提示: 1) 生成随机数:Math.random(),返回值类型double; 2) 四舍五入取整:Math.round(double d),返回值类型long。 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 17:15 */ public class Exer6 { /* 4. 对象数组题目: 定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。 问题一:打印出3年级(state值为3)的学生信息。 问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息 提示: 1) 生成随机数:Math.random(),返回值类型double; 2) 四舍五入取整:Math.round(double d),返回值类型long。 */ public static void main(String[] args) { for (int i = 0; i < 20; i++) { Student student = new Student(); student.setParam((int) (Math.random() * 20 + 1), (int) (Math.random() * 3 + 1), (int) (Math.random() * 100)); if (student.state==3){ student.printInfo(); } } } } class Student { int number; int state; int score; public void setParam(int number, int state, int score) { this.number = number; this.state = state; this.score = score; } public void printInfo() { System.out.println("学号: " + number + ",年级:" + state + ",成绩:" + score); } }
题目07
/* 声明一个日期类型MyDate:有属性:年year,月month,日day。创建2个日期对象,分别赋值为:你的出生日期,你对象的出生日期,并显示信息。 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 17:32 */ public class Exer7 { /* 声明一个日期类型MyDate:有属性:年year,月month,日day。创建2个日期对象,分别赋值为:你的出生日期,你对象的出生日期,并显示信息。 */ public static void main(String[] args) { MyDate myDate = new MyDate(); myDate.setParam(1998, 05, 17); myDate.printInfo(); } } class MyDate{ int year,month,day; public void setParam(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } public void printInfo(){ System.out.println("出生日期:"+year+"年,"+month+"月,"+day+"日"); } }
题目08
/* 编写程序,定义三个重载方法并调用。方法名为mOL。 三个方法分别接收一个int参数、两个int参数、一个字符串参数。 分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息 在主类的main ()方法中分别用参数区别调用三个方法。 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 17:43 */ public class Exer8 { /* 编写程序,定义三个重载方法并调用。方法名为mOL。 三个方法分别接收一个int参数、两个int参数、一个字符串参数。分别 执行平方运算并输出结果,相乘并输出结果,输出字符串信息。 在主类的main ()方法中分别用参数区别调用三个方法。 */ public static void main(String[] args) { OverLoad overLoad = new OverLoad(); overLoad.mOL(1); overLoad.mOL(2, 3); overLoad.mOL("Hello"); } } class OverLoad { // int num; public void mOL(int num) { System.out.println("num: " + num); // return num; } public int mOL(int num1, int num2) { int sum = num1 * num2; System.out.println("num1 * num2 = "+sum); return sum; } public void mOL(String str) { System.out.println("str: "+str); // return str; } }
题目09
/* 定义三个重载方法max(),第一个方法求两个int值中的最大值,第二个方法求两个double值中的最大值,第三个方法求三个double值中的最大值,并分别调用三个方法。 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 17:53 */ public class Exer9 { /* 定义三个重载方法max(),第一个方法求两个int值中的最大值,第二个方法求两个double值中的最大值,第三个方法求三个double值中的最大值, 并分别调用三个方法。 */ public static void main(String[] args) { OverLoad1 overLoad1 = new OverLoad1(); overLoad1.max(2, 3); overLoad1.max(2.0, 3.0); overLoad1.max(2.0, 3.0, 4.0); } } class OverLoad1 { public void max(int num1, int num2) { int max = Math.max(num1, num2); System.out.println(max); } public void max(double num1, double num2) { double max = Math.max(num1, num2); System.out.println(max); } public void max(double num1, double num2, double num3) { double max= num1 > num2 ? (num1 > num3 ? num1 : num3) : (num2 > num3 ? num2 : num3); System.out.println(max); } }
题目10
/* 定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积。 (2)定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义 如下:public void printAreas(Circle c, int time) 在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。 例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。 (3)在main方法中调用printAreas()方法,调 用完毕后输出当前半径值。程序运行结果如图 所示。 */
package com.jerry.java; import java.util.Scanner; /** * @author jerry_jy * @create 2022-09-26 20:26 */ public class Exer11 { /* 定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积。 (2)定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义 如下:public void printAreas(Circle c, int time) 在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。 例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。 (3)在main方法中调用printAreas()方法,调 用完毕后输出当前半径值。程序运行结果如图 所示。 */ public static void main(String[] args) { PassObject obj = new PassObject(); obj.printAreas(new Circle1(), 5); } } class Circle1 { public double findArea(double radius) { double area = Math.PI * radius * radius; return area; } } class PassObject { public void printAreas(Circle1 c, int time) { System.out.println("请输入一个整数:"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); System.out.println("Radius" + "\t \t" + "Area"); for (int i = 1; i <= num; i++) { System.out.println((double) i + "\t \t" + c.findArea(i)); } } }
题目11
//递归计算1-100之间所有自然数的和
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-26 20:41 */ public class Exer12 { //递归计算1-100之间所有自然数的和 public static void main(String[] args) { Sum sum = new Sum(); sum.sum(100); } } class Sum{ public int sum(int num){ if(num == 1){ System.out.println(1); return 1; }else{ int sum =num + sum(num -1 ); System.out.println(sum); return sum; } } }
题目12
/* 请用Java写出递归求阶乘(n!)的算法 */
package com.jerry.java; import java.util.Scanner; /** * @author jerry_jy * @create 2022-09-27 8:22 */ public class Exer13 { /* 请用Java写出递归求阶乘(n!)的算法 */ public static void main(String[] args) { System.out.println("请输入一个整数求阶乘:"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); Recursion recursion = new Recursion(); recursion.factorial(num); } } class Recursion { public int factorial(int num) { if (num==1){ System.out.println("result: " + 1); return 1; }else { int result = num * factorial(num -1); System.out.println("result: "+result); return result; } } }
题目13
/* 已知有一个数列:f(0) = 1,f(1) = 4,f(n+2)=2*f(n+1) + f(n),其中n是大于0的整数,求f(10)的值。 */
package com.jerry.java; import java.util.Scanner; /** * @author jerry_jy * @create 2022-09-27 9:17 */ public class Exer14 { /* 已知有一个数列:f(0) = 1,f(1) = 4,f(n+2)=2*f(n+1) + f(n),其中n是大于0的整数,求f(10)的值。 */ public static void main(String[] args) { System.out.println("请输入一个大于0的整数:"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); Func1 f = new Func1(); f.func(num); } } class Func{ public int func(int num){ if (num ==0){ System.out.println("result: " + 1); return 1; }else if (num == 1){ System.out.println("result: " + 4); return 4; }else { int result=2*func(num-1)+func(num-2); System.out.println("result: " + result); return result; } } }
题目14
/* 已知一个数列:f(20) = 1,f(21) = 4,f(n+2) = 2*f(n+1)+f(n),其中n是大于0的整数,求f(10)的值。 */
package com.jerry.java; import java.util.Scanner; /** * @author jerry_jy * @create 2022-09-27 9:17 */ public class Exer15 { /* 已知一个数列:f(20) = 1,f(21) = 4,f(n+2) = 2*f(n+1)+f(n),其中n是大于0的整数,求f(10)的值。 */ public static void main(String[] args) { System.out.println("请输入一个大于0的整数:"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); Func1 f = new Func1(); f.func(num); } } class Func1 { public int func(int num){ if (num ==20){ System.out.println("result: " + 1); return 1; } if (num == 21){ System.out.println("result: " + 4); return 4; }else { int result=func(num+2)-2*func(num-1); System.out.println("result: " + result); return result; } } }
题目15
输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值 1 1 2 3 5 8 13 21 34 55 规律:一个数等于前两个数之和 要求:计算斐波那契数列(Fibonacci)的第n个值,并将整个数列打印出来
package com.jerry.java; import java.util.Scanner; /** * @author jerry_jy * @create 2022-09-27 9:27 */ public class Exer16 { /* 输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值 1 1 2 3 5 8 13 21 34 55 规律:一个数等于前两个数之和 要求:计算斐波那契数列(Fibonacci)的第n个值,并将整个数列打印出来 */ public static void main(String[] args) { System.out.println("输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值: "); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); Fibonacci fibonacci = new Fibonacci(); fibonacci.f(num); } } class Fibonacci { public int f(int num) { if (num==1){ System.out.println("result: " + 1); return 1; } if (num==2){ System.out.println("result: " + 1); return 1; }else { int result = f(num-1)+f(num-2); System.out.println("result: " + result); return result; } } }
题目16
/* 创建程序,在其中定义两个类:Person和PersonTest类。定义如下: 用setAge()设置人的合法年龄(0~130),用getAge()返回人的年龄。 在 PersonTest 类 中实例化 Person 类的对象 b , 调 用 setAge() 和 getAge()方法,体会Java的封装性。 */
package com.jerry.java; import java.util.Scanner; /** * @author jerry_jy * @create 2022-09-27 9:40 */ public class Exer17 { /* 创建程序,在其中定义两个类:Person和PersonTest类。定义如下: 用setAge()设置人的合法年龄(0~130),用getAge()返回人的年龄。 在 PersonTest 类 中实例化 Person 类的对象 b , 调 用 setAge() 和 getAge()方法,体会Java的封装性。 */ public static void main(String[] args) { Person1 person1 = new Person1(); System.out.println("设置人的合法年龄(0~130): "); Scanner scanner = new Scanner(System.in); int age = scanner.nextInt(); person1.setAge(age); person1.getAge(); person1.getName(); } } class Person1 { private int age; private String name; public Person1() { age=18; name = "jerry"; } public void setAge(int age) { this.age = age; } public int getAge() { this.age = age; System.out.println("年龄是:" + age); return age; } public String getName() { System.out.println("名字是:"+name); return name; } public void setName(String name) { this.name = name; } }
题目17
/* 编写两个类,TriAngle和TriAngleTest,其中TriAngle类中声明私有的底 边长base和高height,同时声明公共方法访问私有变量。此外,提供类 必要的构造器。另一个类中使用这些公共方法,计算三角形的面积。 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-27 9:47 */ public class Exer18 { /* 编写两个类,TriAngle和TriAngleTest,其中TriAngle类中声明私有的底 边长base和高height,同时声明公共方法访问私有变量。此外,提供类 必要的构造器。另一个类中使用这些公共方法,计算三角形的面积。 */ public static void main(String[] args) { TriAngle triAngle = new TriAngle(); triAngle.setBase(3); System.out.println(triAngle.getBase()); triAngle.setHeight(4); System.out.println(triAngle.getHeight()); System.out.println(triAngle.toString()); double area = triAngle.getBase() * triAngle.getHeight() * 0.5; System.out.println("三角形的面积: " + area); } } class TriAngle { private int base; private int height; public TriAngle() { } public TriAngle(int base, int height) { this.base = base; this.height = height; } public int getBase() { return base; } public void setBase(int base) { this.base = base; } public int getHeight() { return height; } public void setHeight(int height) { this.height = height; } @Override public String toString() { return "TriAngle{" + "base=" + base + ", height=" + height + '}'; } }
题目18
/* (1)定义Student类,有4个属性: String name; int age; String school; String major; (2)定义Student类的3个构造器: 第一个构造器Student(String n, int a)设置类的name和age属性; 第二个构造器Student(String n, int a, String s)设置类的name, age 和school属性; 第三个构造器Student(String n, int a, String s, String m)设置类的name, age ,school和major属性; (3)在main方法中分别调用不同的构造器创建的对象,并输出其属性值。 */
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-27 10:10 */ public class Exer19 { /* (1)定义Student类,有4个属性: String name; int age; String school; String major; (2)定义Student类的3个构造器: 第一个构造器Student(String n, int a)设置类的name和age属性; 第二个构造器Student(String n, int a, String s)设置类的name, age 和school属性; 第三个构造器Student(String n, int a, String s, String m)设置类的name, age ,school和major属性; (3)在main方法中分别调用不同的构造器创建的对象,并输出其属性值。 */ public static void main(String[] args) { System.out.println("=================jerry================"); Student1 s1 = new Student1("jerry", 18); System.out.println(s1.getName()); System.out.println(s1.getAge()); System.out.println(s1.toString()); System.out.println("=================tom================"); Student1 s2 = new Student1("tom", 19, "M1"); System.out.println(s2.toString()); s2.setName("tom1"); System.out.println(s2.getName()); s2.setAge(20); System.out.println(s2.getAge()); s2.setSchool("M2"); System.out.println(s2.getSchool()); System.out.println(s2.toString()); System.out.println("=================Lily================"); Student1 s3 = new Student1("Lily", 20, "L1", "CS"); System.out.println(s3.toString()); s3.setMajor("EE"); System.out.println(s3.getMajor()); System.out.println(s3.toString()); } } class Student1 { private String name; private int age; private String school; private String major; public Student1(String name, int age) { this.name = name; this.age = age; } public Student1(String name, int age, String school) { this.name = name; this.age = age; this.school = school; } public Student1(String name, int age, String school, String major) { this.name = name; this.age = age; this.school = school; this.major = major; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } @Override public String toString() { return "Student1{" + "name='" + name + '\'' + ", age=" + age + ", school='" + school + '\'' + ", major='" + major + '\'' + '}'; } }
题目19
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-27 10:46 */ public class Exer20 { public static void main(String[] args) { Boy boy = new Boy("罗密欧", 21); boy.shout(); Girl girl = new Girl("朱丽叶", 18); girl.marry(boy); Girl girl1 = new Girl("祝英台", 19); int var = girl.compare(girl1); if (var>0){ System.out.println(girl.getName()+"大"); } if (var<0){ System.out.println(girl1.getName()+"大"); } if (var==0){ System.out.println("一样大"); } } } class Boy { private String name; private int age; public Boy() { } public Boy(String name) { this.name = name; } public Boy(String name, int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void marry(Girl girl) { System.out.println("我想娶:" + girl.getName()); // girl.marry(this); } public void shout() { if (this.age >= 22) { System.out.println("你可以去合法登记结婚了!"); } else { System.out.println("先多谈谈恋爱~~"); } } } class Girl { private String name; private int age; public Girl() { } public Girl(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void marry(Boy boy) { System.out.println("我想嫁给" + boy.getName()); boy.marry(this); } /** * @param girl * @return */ public int compare(Girl girl) { if (this.age > girl.age) { return 1; } else if (this.age < girl.age) { return -1; } else { return 0; } } }
JavaBean创建的模板
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-27 10:32 */ public class JavaBean {//类是公共的 private String name;//有属性,且有对应的get、set方法 private int age; public JavaBean(){//有一个无参的公共的构造器 } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
题目20
package com.jerry.java; /** * @author jerry_jy * @create 2022-09-27 10:41 */ public class PersonTest { public static void main(String[] args) { Person2 per1 = new Person2("张三") ; Person2 per2 = new Person2("李四") ; per1.getInfo() ; // 当前调用getInfo()方法的对象是per1 per2.getInfo() ; // 当前调用getInfo()方法的对象是per2 boolean b = per1.compare(per2); System.out.println(b); } } class Person2 { // 定义Person类 String name; Person2(String name) { this.name = name; } public void getInfo() { System.out.println("Person类 --> " + this.name); } public boolean compare(Person2 p) { return this.name == p.name; } }