Java面向对象高级
作业1 复习1-5章内容1
创建Test01.class
import java.util.Scanner;
/**
* 1 编写Java应用程序,创建主类“Test01.java”,实现以下功能:
*
* (1)找出88-888之间能被7整除且个位是2的数,并输出符合条件的数的个数。
*
* (2)定义整型数组,长度为5,初始化数组内容后,找出该数组元素的最大值、最小值,并求和,然后将最大值、最小值和数组元素的和输出到控制台上。
*
* (3)在控制台输入年份和月份,请输出该年该月的天数。
*
* (4)将源代码界面和编译运行结果截图上传。(10分)
*/
public class Test01 {
public static void main(String[] args) {
//(1)找出88-888之间能被7整除且个位是2的数,并输出符合条件的数的个数。
one();
// (2)定义整型数组,长度为5,初始化数组内容后,
// 找出该数组元素的最大值、最小值,并求和,然后将最大值、最小值和数组元素的和输出到控制台上。
two();
//(3)在控制台输入年份和月份,请输出该年该月的天数。
three();
}
public static void one(){
//(1)找出88-888之间能被7整除且个位是2的数,并输出符合条件的数的个数。
System.out.println();
System.out.println("(1)找出88-888之间能被7整除且个位是2的数,并输出符合条件的数的个数。");
int count = 0;
System.out.print("符合的:");
for (int i = 88; i <= 888 ; i++) {
if(i%7==0 && i %10 == 2 ){
System.out.print(i+"\t");
count++;
}
}
System.err.println("符合条件的数的个数:"+count);
}
public static void two(){
System.out.println();
System.out.println("(2)定义整型数组,长度为5,初始化数组内容后,找出该数组元素的最大值、最小值,并求和,然后将最大值、最小值和数组元素的和输出到控制台上。");
//(2)定义整型数组,长度为5,初始化数组内容后,
// 找出该数组元素的最大值、最小值,并求和,然后将最大值、最小值和数组元素的和输出到控制台上。
int[] array = new int[]{8,10,4,6,9};
int max=array[0];//默认第一个最大
int min=array[0];//默认第一个最小
int sum = 0;
for (int i = 0; i <array.length ; i++) {
if(max<array[i]){ //array[i]大于max则给 max赋值成为最大的
max = array[i];
}
if(min>array[i]){ //array[i]小于mix则给 mix赋值成为最小的
min = array[i];
}
sum += array[i]; //循环的没一个相加得到和
}
System.err.println("最大值:"+max+"\t最小值:"+min+"\t求和:"+sum);
}
public static void three(){
//(3)在控制台输入年份和月份,请输出该年该月的天数。
Scanner input = new Scanner(System.in);
System.out.println("请输入年份:");
int year = input.nextInt();
System.out.println("请输入月份:");
int month = input.nextInt();//输入年份和月份
//判断平闰年
/*
* switch表达式只能是int char byte short类型
* */
int a =29;
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.err.println("本月有31天");
break;
case 4:
case 6:
case 9:
case 11:
System.err.println("本月有30天");break;
case 2:
if(year%4==0&&year%100!=0||year%400==0) {
a = 28;
}
System.err.println("本月有"+a+"天");
break;
}
}
}
作业1 复习1-5章内容2
- 创建Test01类
/**
(3)在主类的main()方法中创建一个Student对象,使用无参构造方法实例化该对象,
调用setXxx()方法(注意对静态方法的调用)对属性赋值,属性的值,均为你的信息,
并在控制台上调用info()方法输出学生的基本信息。
*/
public class Test01 {
public static void main(String[] args) {
Student student = new Student();
student.setMajor("java面向对象高级");
student.setAge(18);
student.setId("123456789");
student.setName("小红");
System.out.println(student.info());;
}
}
创建Student类
/**
* (2)创建学生类Student.java继承自People类
*
* 还具有的属性包括: String类型major专业,将专业定义为静态变量。
*
* 创建无参和全参的构造方法。
*
* 创建setXxx()和 getXxx()方法设置和获取属性值,其中对major属性的访问是静态方法。
*
* 重写info()方法,输出Sudent的相关信息。
*/
public class Student extends People{
private String major; //专业
public Student() {
}
public Student(String major) {
this.major = major;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String info() {
return ("sutdent的专业{" +this.getMajor()+"}" +
"People{" +
"姓名='" + getName() + '\'' +
", 身份证='" + getId() + '\'' +
", 年龄=" + getAge() +
'}');
}
}
创建People类
/**
* (1)创建人类People.java,完成如此下内容:
*
* 所具有的属性包括:String类型的姓名(name)、String类型的身份证号(id)、int类型的年龄(age)。
*
* 创建无参和全参的构造方法。
*/
public class People {
//姓名
private String name;
//身份证号
private String id;
//年龄
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String info() {
return "People{" +
"姓名='" + name + '\'' +
", 身份证='" + id + '\'' +
", 年龄=" + age +
'}';
}
}
作业3 异常1
创建Test01.java
/**
// 1、创建一个主类——测试类“Test01.java”
// 1)声明divide()方法实现了两个整数相除,带有两个int参数
// (1)定义一个变量result记录两个数相除的结果
// (2)返回结果
// 2)声明main()方法
// (1)在方法中调用divide()方法,传入两个参数,其中第二个参数为0,并将结果赋给一个变量
// (2)打印输出该变量的值。
// (3)用try语句将前两步括起来
// (4)加catch语句
// (5)对可能产生的异常处理,打印捕获到的异常信息
// (6)异常产生后,加return语句返回
// (7)加finally语句,打印“程序进入finally代码块”,不管异常是否发生,打印程序接着继续向下执行
*/
public class Test01 {
public static void main(String[] args) {
// 第一题
double result = divide(5,5);
System.out.println(result);
//第二题
try {
double result2 = divide(5,0);
System.out.println(result2);
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("程序进入finally代码块");
}
}
public static double divide(int a , int b ){
return a/b;
}
}
效果
作业3 异常2
在Test01的基础上
创建Test02 调用Test01的divide方法
public class Test02 {
public static void main(String[] args) {
try {
double result = Test01.divide(5,5);
System.out.println(result);
double result1 = Test01.divide(5,0);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("不管异常是否发生,打印程序接着继续向下执行");
}
}
}
效果
作业2 StringBuff 类相关方法
一.填空题(共3题,30.0分)
1 StringBuffer ch=new StringBuffer(“Hello Java”);ch.insert(3,‘p’)的结果是( )
/**
* @author Linbookz
* @date 2021年04月17日 21:45
*/
public class Test01 {
public static void main(String[] args) {
StringBuffer ch=new StringBuffer("Hello Java");
ch.insert(3,'p');
System.out.println("ch.insert(3,'p')的结果是"+ch.toString());
}
}
效果:
2 StringBuffer ch=new StringBuffer(“Hello Java”);ch.reverse()的结果是( ) (10.0分)
/**
* @author Linbookz
* @date 2021年04月17日 21:45
*/
public class Test01 {
public static void main(String[] args) {
// 2
// StringBuffer ch=new StringBuffer("Hello Java");
// ch.reverse()的结果是( )
StringBuffer ch=new StringBuffer("Hello Java");
ch.reverse();
System.out.println(" ch.reverse()的结果:"+ch.toString());
}
}
效果:
3 StringBuffer ch=new StringBuffer(“Hello Java”); ch.append(“StringBuffer”)的结果是( ) (10.0分)
/**
* @author Linbookz
* @date 2021年04月17日 21:45
*/
public class Test01 {
public static void main(String[] args) {
// 3 StringBuffer ch=new StringBuffer("Hello Java");
// ch.append("StringBuffer")的结果是( );
StringBuffer ch=new StringBuffer("Hello Java");
ch.append("StringBuffer");
System.out.println("ch.append(\"StringBuffer\")的结果是( ):"+ch.toString());
}
}
效果: