需求描述

实现上图需求,根据输入的三个人的信息,分别计算出这个三个客户的平均年龄和最大年龄

涉及知识点:

①构造方法

②字符串切割

③对象数组

代码实现

代码结构图:

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基础_构造方法的使用的更多相关文章

  1. Java基础—String构造方法

    Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...

  2. java基础知识 构造方法

    在java里面,构造方法也就是构造函数 构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点.(1)构造方法的方法名必须与类名相同.(2)构造方法没有返回类型,也不能定义为void,在方法名前面 ...

  3. 【BigData】Java基础_创建一个订单类

    需求描述 定义一个类,描述订单信息订单id订单所属用户(用户对象)订单所包含的商品(不定数量个商品对象)订单总金额订单应付金额:    总金额500~1000,打折85折    总金额1000~150 ...

  4. 【BigData】Java基础_定义工具类,对ArrayList排序并且求最大值、最小值、平均值

    需求描述 编写一个工具类,对ArrayList实现以下功能: ① 排序 ② 求最大值 ③ 求最小值 ④ 求平均值 需求实现 实现代码 package cn.test.logan.day04; impo ...

  5. 【BigData】Java基础_方法的定义与使用

    1.概念 Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function).对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代 ...

  6. 【BigData】Java基础_类和对象的基本使用

    1.需求描述 ①定义一个学生类,然后根据该类创建3个具体的学生对象 类中包含信息:学生姓名.学号.年龄.性别.所在地址 ②将这三个学生对象存入到数组中 ③然后将数组对象按照学生的年龄倒序排序 2.代码 ...

  7. 【BigData】Java基础_数组

    什么是数组?数据是可以装一组数据的变量 1.定义数组 float[] arr1 = new float[10]; // 可以装10个float数据 int[] arr2 = new int[10]; ...

  8. 【BigData】Java基础_循环

    1.for循环 语法: for (初始表达式;布尔表达式;步进) { 循环体: } 实例: package cn.test.logan.day02; import java.util.Scanner; ...

  9. 【BigData】Java基础_终端输入2个数字并求和

    1.需求描述 在终端输入2个数字,然后根据输入的数字求和 2.实现代码 package cn.test.logan; import java.util.Scanner; public class Te ...

随机推荐

  1. 在Button样式中添加EventSetter,理解路由事件

    XML <Window.Resources> <Style x:Key="ButtonStyle2" TargetType="{x:Type Butto ...

  2. 【题解】C2Crni - Crni [COCI2010] [SP7884]

    [题解]C2Crni - Crni [COCI2010] [SP7884] 传送门:\(\text{C2Crni - Crni}\) \(\text{[COCI2010]}\) \(\text{[SP ...

  3. thinkphp3.2.3集成phpexcel1.8导出设置单元格合并

    1 到这里下载classes里面的文件 https://github.com/PHPOffice/PHPExcel 2 然后放到 thinkphp的vendor 新建一个文件夹 Phpexcel  然 ...

  4. EF Code first主从表,删除更新从表

    以order和orderItem为例,从表orderItem里有主表的orderId 想通过order.orderitems.add()或者remove()方法直接更新从表的话,必须在从表建立联合主键 ...

  5. C#与C++与互操作

    一.C#调用C++库 1.创建C++库 打开VisualStudio,创建一个C++工程,输入项目名称HelloWorldLib 确定,然后下一步.选择应用程序类型为DLL 单击完成,我们就创建好了一 ...

  6. Linq分批次,每组1000条

    /// <summary> /// 分组插入每次插入1000 /// </summary> /// <param name="data">< ...

  7. Spring.yml配置文件读取字符串出现错误

    今天遇到一个诡异的问题,在配置文件中配置了一个值为字符串的属性,但是在用@Value注入时发现注入的值不是我配置的值,而且在全文都没有找到匹配的值 之后研究了好久,发现yml文件会把0开头的数组进行8 ...

  8. join 和子查询优化

    一次在家查看数据的时候,列表展示特别慢,就查看了一下,把sql语句拿出来运行居然要4,5秒,当时就感觉有问题,语句用的join链接2个表,感觉没啥错误,为啥会这么慢,然后改用了子查询链接,发现快了许多 ...

  9. js中数组的迭代方法

    1.forEach 让数组的每一项做一件事 var arr = [1,2,3,4,5] arr.forEach(function(item,index){ console.log(item) }) 2 ...

  10. nodeJs 报maximum call stack size exceeded js

    先看错误 查了下资料说是什么js堆栈异常,是递归造成的啥的,但我程序里没用到啥递归,整了老半天将collection-repeat换成ng-repeat然后就好啦,具体原因待探讨.