import?java.text.SimpleDateFormat;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.Date;
import?java.util.List;
import?java.util.stream.Collectors;
public?class?MainController?{
public?static?void?main(String[]?args)?{
//一.将图一四个人的信息放入list中
ListStudent?students?=?new?ArrayList();
students.add(?s1?);
//二.计算四个人成绩的平均值,并输出每个人比平均值多或少多少分.
System.out.println("二.计算四个人成绩的平均值,并输出每个人比平均值多或少多少分.");
average(?students?);
//三.将四人排序输出,控制台输出结果请参照图二
System.out.println("三.将四人排序输出,控制台输出结果请参照图二");
sort(?students?);
markBeyong(?students.get(0).getMark()?,?students.get(1).getMark()?);
}
public?static?void?average(?ListStudent?students?){
int?sum?=?0;//总成绩
for?(?Student?student:?students?){
sum?=?sum?+?student.getMark();
int?average?=?sum/students.size();//平均成绩
students.forEach(?student?-?{
if?(?student.getMark()?average?){
System.out.println(?student.getName()?+?"比平均分高:"?+?(student.getMark()?-?average)?);
}else?if?(?student.getMark()?average?){
System.out.println(?student.getName()?+?"比平均分低:"?+?(?average?-?student.getMark())?);
}else?{
System.out.println(?student.getName()?+?"和平均分一样"?);
}?);
public?static?void?sort(?ListStudent?students?){
ListStudent?studentBir?=?new?ArrayList();
studentBir.addAll(?students?);
System.out.println("①第一种排序,按照出生年月日升序;");
studentBir.forEach(?stu?-{
System.out.println(?stu.getName()?+?"?|?"?+?getTime(stu.getBirthDay())?+?"?|?"?+?stu.getMark()?);
System.out.println("?②第二种排序,按照成绩降序;");
ListStudent?markDesc?=?students.stream().sorted((a,?b)?-?b.getMark()?-?a.getMark()).collect(Collectors.toList());
markDesc.forEach(?stu?-{
System.out.println("③比较输出:计算他们互相大多少天,要考虑到闰年.");
for?(?int?i?=?0?;?i?students.size()?;?i++?){
for?(?int?j?=?i?+?1?;?j?students.size()?;?j++?){
Long?ageSub?=?students.get(?i?).getBirthDay().getTime()?-?students.get(?j?).getBirthDay().getTime();
if?(?dateSub?0?){
System.out.println(?students.get(?i?).getName()?+?"比"?+?students.get(?j?).getName()?+?"大"?+?dateSub?);
}else?if?(?dateSub?0?){
System.out.println(?students.get(?i?).getName()?+?"比"?+?students.get(?j?).getName()?+?"小"?+?-dateSub?);
System.out.println(?students.get(?i?).getName()?+?"和"?+?students.get(?j?).getName()?+?"同日出生"?);
public?static?void?markBeyong(?int?mark?,int?targetMark){
double?markDou?=?mark;
double?targetMarkDou?=?targetMark;
boolean?b?=?true;
int?month?=?0;
while?(?b?){
if?(?markDou?targetMarkDou?){
month?++;
System.out.println("一共用了"?+?month?+?"个月反超");
b?=?false;
public?static?Date?getTime(?String?target?)?{
try?{
SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy.MM.dd");
Date?date?=?sdf.parse(target);
return?date;
}?catch?(Exception?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
return?null;
public?static?String?getTime(?Date?target?)?{
String?date?=?sdf.format(?target?);
class?Student?{
private?String?name;
private?Date?birthDay;
private?Integer?mark;
public?String?getName()?{
return?name;
public?void?setName(String?name)?{
this.name?=?name;
public?Date?getBirthDay()?{
return?birthDay;
public?void?setBirthDay(Date?birthDay)?{
this.birthDay?=?birthDay;
public?Integer?getMark()?{
return?mark;
public?void?setMark(Integer?mark)?{
this.mark?=?mark;
public?Student(){
public?Student(String?name,Date?birthDay?,?Integer?mark){
public String replaceString(String s)
{
char ac[] = s.toCharArray();//将字符串s转换成字符数组ac
int ai[] = new int[10];//定义整形数组ai,用于记录'\'的位置
int i = 0;//定义i作为计数变量
//循环,找出字符数组ac中字符'\'的个数和位置
for(int j = 0; j != ac.length; j++)
char c = ac[j];
if(c == '\\')
ai[i] = j;
i++;
int k = i + 1;
String as[] = new String[k];//定义字符串数组as
as[0] = s.substring(0, ai[0]);
//将字符串s中被'\'分割的字符串存到字符串数组as中
as[k - 1] = s.substring(ai[i - 1] + 1);
for(int l = 1; l != as.length - 1; l++)
as[l] = s.substring(ai[l - 1] + 1, ai[l]);
s = "";
for(int i1 = 0; i1 != as.length - 1; i1++)
s = s + as[k - 1];
return s;
以上就是土嘎嘎小编为大家整理的java新手代码注解相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!