这个系列是对javaSE课程代码的回顾,所有Demo都是亲自动手实现的,并做了小小的change,为了方便自己理解和后期复习,代码里加了大量的注释。现对所有知识点的代码进行复习整理,进一步理解、完善代码,对注释进行补充。其中重要的知识点会单独说明,但主要以代码为主。
说明:博客是对学习内容的巩固,很多注释是为了自己理解,所以不会很专业。
--------------------------------------------------客户信息管理--------------------------------------------------
package cn.tjpu.javase03.exercise;
/**
* 定义一个客户类
*/
public class Custom {
// 定义类模板(用户属性)
String id;
String name;
String sex;
int age;
String phone;
String addr;
// 定义一个带参的构造函数(和类名保持一致),实例化时可以给对象一次性赋值,不用一个一个属性赋值了
public Custom(String id, String name, String sex, int age, String phone,
String addr) {
// this.id代表类中定义属性,id代表方法参数
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
this.phone = phone;
this.addr = addr;
}
}
package cn.tjpu.javase03.exercise;
/**
* 该类实现功能:
* 用户在终端输入三行信息:
* 001,张三,男,23,1235155667,北京;
* 002,赵四,男,23,1234777888,天津;
* 003,刘欢,女,24,1324566578,北京;
* 程序能接收三行数据并封装在三个对象中,求客户的平均年龄和最大年龄
*
* 步骤:
* 1.接收终端数据
* 2.定义类模板
* 3.将接收的数据拆分并分别赋给对象属性
* 4.算法
*/
import java.util.Scanner;
public class CustomTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 从终端接收第1个客户数据
System.out.println("输入第1个客户信息:");
String line1 = sc.nextLine();
// 从终端接收第2个客户数据
System.out.println("输入第2个客户信息:");
String line2 = sc.nextLine();
// 从终端接收第3个客户数据
System.out.println("输入第3个客户信息:");
String line3 = sc.nextLine();
// 将在终端接收的字符串切割,并存入字符串数组
String[] s1 = line1.split(",");// 按某个字符切割
String[] s2 = line2.split(",");
String[] s3 = line3.split(",");
// 将切割的字符串分别赋给3个对象的对应属性(封装)
// 001,张三,男,23,1235155667,北京;
Custom c1 = new Custom(s1[0], s1[1], s1[2], Integer.parseInt(s1[3]),
s1[4], s1[5]);
Custom c2 = new Custom(s2[0], s2[1], s2[2], Integer.parseInt(s2[3]),
s2[4], s2[5]);
Custom c3 = new Custom(s3[0], s3[1], s3[2], Integer.parseInt(s3[3]),
s3[4], s3[5]);
// 新建一个客户类数组放入客户对象
Custom[] cs = new Custom[] { c1, c2, c3 };
// 求平均年龄
int sum = c1.age + c2.age + c3.age;
float arvg = (float) sum / 3;
System.out.println("平均年龄是:" + arvg);
// 求最大年龄
int max = cs[0].age;
for (int i = 1; i < cs.length; i++) {
if (cs[0].age > max) {
max = cs[0].age;
}
}
System.out.println("最大年龄是:" + max);
}
}