【BigData】Java基础_构造方法的使用
需求描述
实现上图需求,根据输入的三个人的信息,分别计算出这个三个客户的平均年龄和最大年龄
涉及知识点:
①构造方法
②字符串切割
③对象数组
代码实现
代码结构图:
package cn.test.logan.day03; public class Person { String custNo;
String custName;
int age;
String addr; // 定义构造方法:用来构造一个对象时执行的初始化逻辑
public Person(String custNo,String custName,int age,String addr) {
this.custNo = custNo;
this.custName = custName;
this.age = age;
this.addr = addr;
}
}
package cn.test.logan.day03; import java.util.Scanner; public class PersonTest {
public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 输入数据
System.out.println("请输入第1个人的信息:");
String row1 = sc.nextLine();
String[] split1 = row1.split(","); System.out.println("请输入第2个人的信息:");
String row2 = sc.nextLine();
String[] split2 = row2.split(","); System.out.println("请输入第3个人的信息:");
String row3 = sc.nextLine();
String[] split3 = row3.split(","); // 构造3个对象
Person p1 = new Person(split1[0],split1[1],Integer.parseInt(split1[2]),split1[3]);
Person p2 = new Person(split2[0],split2[1],Integer.parseInt(split2[2]),split2[3]);
Person p3 = new Person(split3[0],split3[1],Integer.parseInt(split3[2]),split3[3]); // 求出平均年龄
int sum = p1.age + p2.age +p3.age;
float avg = (float)sum/3; // 定义一个对象数组
Person[] ps = new Person[] {p1,p2,p3}; int tmp = ps[0].age;
for(int i=1;i<3;i++) {
if(ps[i].age > tmp ) {
tmp = ps[i].age;
}
}
System.out.println("平均年龄为:"+ avg);
System.out.println("最大年龄为:"+ tmp);
}
}
【BigData】Java基础_构造方法的使用的更多相关文章
- Java基础—String构造方法
Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...
- java基础知识 构造方法
在java里面,构造方法也就是构造函数 构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点.(1)构造方法的方法名必须与类名相同.(2)构造方法没有返回类型,也不能定义为void,在方法名前面 ...
- 【BigData】Java基础_创建一个订单类
需求描述 定义一个类,描述订单信息订单id订单所属用户(用户对象)订单所包含的商品(不定数量个商品对象)订单总金额订单应付金额: 总金额500~1000,打折85折 总金额1000~150 ...
- 【BigData】Java基础_定义工具类,对ArrayList排序并且求最大值、最小值、平均值
需求描述 编写一个工具类,对ArrayList实现以下功能: ① 排序 ② 求最大值 ③ 求最小值 ④ 求平均值 需求实现 实现代码 package cn.test.logan.day04; impo ...
- 【BigData】Java基础_方法的定义与使用
1.概念 Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function).对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代 ...
- 【BigData】Java基础_类和对象的基本使用
1.需求描述 ①定义一个学生类,然后根据该类创建3个具体的学生对象 类中包含信息:学生姓名.学号.年龄.性别.所在地址 ②将这三个学生对象存入到数组中 ③然后将数组对象按照学生的年龄倒序排序 2.代码 ...
- 【BigData】Java基础_数组
什么是数组?数据是可以装一组数据的变量 1.定义数组 float[] arr1 = new float[10]; // 可以装10个float数据 int[] arr2 = new int[10]; ...
- 【BigData】Java基础_循环
1.for循环 语法: for (初始表达式;布尔表达式;步进) { 循环体: } 实例: package cn.test.logan.day02; import java.util.Scanner; ...
- 【BigData】Java基础_终端输入2个数字并求和
1.需求描述 在终端输入2个数字,然后根据输入的数字求和 2.实现代码 package cn.test.logan; import java.util.Scanner; public class Te ...
随机推荐
- 在Button样式中添加EventSetter,理解路由事件
XML <Window.Resources> <Style x:Key="ButtonStyle2" TargetType="{x:Type Butto ...
- 【题解】C2Crni - Crni [COCI2010] [SP7884]
[题解]C2Crni - Crni [COCI2010] [SP7884] 传送门:\(\text{C2Crni - Crni}\) \(\text{[COCI2010]}\) \(\text{[SP ...
- thinkphp3.2.3集成phpexcel1.8导出设置单元格合并
1 到这里下载classes里面的文件 https://github.com/PHPOffice/PHPExcel 2 然后放到 thinkphp的vendor 新建一个文件夹 Phpexcel 然 ...
- EF Code first主从表,删除更新从表
以order和orderItem为例,从表orderItem里有主表的orderId 想通过order.orderitems.add()或者remove()方法直接更新从表的话,必须在从表建立联合主键 ...
- C#与C++与互操作
一.C#调用C++库 1.创建C++库 打开VisualStudio,创建一个C++工程,输入项目名称HelloWorldLib 确定,然后下一步.选择应用程序类型为DLL 单击完成,我们就创建好了一 ...
- Linq分批次,每组1000条
/// <summary> /// 分组插入每次插入1000 /// </summary> /// <param name="data">< ...
- Spring.yml配置文件读取字符串出现错误
今天遇到一个诡异的问题,在配置文件中配置了一个值为字符串的属性,但是在用@Value注入时发现注入的值不是我配置的值,而且在全文都没有找到匹配的值 之后研究了好久,发现yml文件会把0开头的数组进行8 ...
- join 和子查询优化
一次在家查看数据的时候,列表展示特别慢,就查看了一下,把sql语句拿出来运行居然要4,5秒,当时就感觉有问题,语句用的join链接2个表,感觉没啥错误,为啥会这么慢,然后改用了子查询链接,发现快了许多 ...
- js中数组的迭代方法
1.forEach 让数组的每一项做一件事 var arr = [1,2,3,4,5] arr.forEach(function(item,index){ console.log(item) }) 2 ...
- nodeJs 报maximum call stack size exceeded js
先看错误 查了下资料说是什么js堆栈异常,是递归造成的啥的,但我程序里没用到啥递归,整了老半天将collection-repeat换成ng-repeat然后就好啦,具体原因待探讨.