当前位置: 首页 > news >正文

程序计算任意连续的12个月公里数不超三万公里预警

为了比亚迪的电池终身质保,写了个简单算法,计算任意12个连续的月份公里数加起来不超过3万公里的预警import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;/*** @Auther: LGH* @Date: 2023/4/26 15:48* @Description:*/
public class Test {public static void main(String[] args) {while (true){Scanner scan=new Scanner(System.in);System.out.println("请输入开始年月份(如:202301):");String month=scan.nextLine();System.out.println("请输入每月公里数逗号隔开(如:2300,1233,3343):");Scanner scan1=new Scanner(System.in);String amount=scan1.nextLine();if (amount.indexOf(",")<0){System.out.println("你输入的格式不正确");}String [] hevs=amount.split(",");List<Integer> months=new ArrayList<>();int length=hevs.length;int sum=0;int begain=0;int[] array = Arrays.asList(hevs).stream().mapToInt(Integer::parseInt).toArray();int max=0;int min=0;String maxYear=null;String minYear=null;StringBuffer stringBuffer=new StringBuffer();for (int i=0;i<length;i++){int hev=array[i];max=hev;min=hev;int k=0;sum+=hev;months.clear();months.add(hev);minYear=handelYear(month,i);maxYear=handelYear(month,i);k++;for (int j=i+1;j<length;j++){months.add(array[j]);if (array[j]>max){max=array[j];maxYear=handelYear(month,j);}if (array[j]<min){min=array[j];minYear=handelYear(month,j);}sum+= array[j];k++;String s="ssssss";if (k==12){if (j<12){System.out.println("从"+month+"至"+handelYear(month,11)+"的连续12个月的总里程:"+sum+"公里,平均每月行驶:"+sum/k+"公里,其中"+maxYear+"是单月最大行驶:"+max+"公里,"+minYear+"是单月最小行驶公里数:"+min+"公里");stringBuffer.append("从"+month+"至"+handelYear(month,11)+"里程详情"+months.stream().map(String::valueOf).collect(Collectors.joining(","))+System.getProperty("line.separator"));}else{System.out.println("从"+handelYear(month,i)+"至"+handelYear(handelYear(month,i),11)+"的连续12个月的总里程:"+sum+"公里,平均每月行驶:"+sum/k+"公里,其中"+maxYear+"是单月最大行驶:"+max+"公里,"+minYear+"是单月最小行驶公里数:"+min+"公里");stringBuffer.append("从"+handelYear(month,i)+"至"+handelYear(handelYear(month,i),11)+"里程详情"+months.stream().map(String::valueOf).collect(Collectors.joining(","))+System.getProperty("line.separator"));}sum=0;k=0;break;}else if  (k<12&&j==length-1){if (j<12){System.out.println("从"+handelYear(month,i)+"至"+handelYear(month,length-1)+"的连续"+ k+"个月的总里程:"+sum+"公里,平均每月行驶:"+sum/(k)+"公里,其中"+maxYear+"是单月最大行驶:"+max+"公里,"+minYear+"是单月最小行驶公里数:"+min+"公里");//System.out.println("从"+month+"至"+handelYear(month,11)+"里程详情"+months.stream().map(String::valueOf).collect(Collectors.joining(",")));stringBuffer.append("从"+handelYear(month,i)+"至"+handelYear(month,length-1)+"里程详情"+months.stream().map(String::valueOf).collect(Collectors.joining(","))+System.getProperty("line.separator"));}else{System.out.println("从"+handelYear(month,i)+"至"+handelYear(handelYear(month,i),k-1)+"的连续"+ k+"个月的总里程:"+sum+"公里,平均每月行驶:"+sum/(k)+"公里,其中"+maxYear+"是单月最大行驶:"+max+"公里,"+minYear+"是单月最小行驶公里数:"+min+"公里");stringBuffer.append("从"+handelYear(month,i)+"至"+handelYear(handelYear(month,i),k-1)+"里程详情"+months.stream().map(String::valueOf).collect(Collectors.joining(","))+System.getProperty("line.separator"));}sum=0;k=0;break;}}}System.out.println(stringBuffer.toString());}}public static String  handelYear(String month,int length){int year=Integer.valueOf(month.substring(0,4));String mo=month.substring(4,6);int mon=0;if (mo.startsWith("0")){mon=Integer.valueOf(month.substring(5,6));}else{mon=Integer.valueOf(month.substring(4,6));}mon=mon+length;int j=mon/12;if (mon>12){year=year+j;mon=mon-12*j;}String yearmon=null;if (mon>9){yearmon=String.valueOf(year)+String.valueOf(mon);}else{if (mon==0){mon=mon+1;}yearmon=String.valueOf(year)+"0"+String.valueOf(mon);}return yearmon;}
}

http://www.lryc.cn/news/62292.html

相关文章:

  • 【IMU】IMU知多少之42866
  • 谁说不能用中文写代码?
  • Java阶段二Day07
  • React Native iOS打包详细步骤
  • I/O复用函数,poll和epoll的用法与select、poll、epoll的区别
  • 大数据周会-本周学习内容总结011
  • 常见的NoSQL数据库介绍
  • 记录安装Nodejs和HBuilderX搭建、部署微信小程序开发环境(一)
  • (一)pyahocorasick和marisa_trie,字符串快速查找的python包,自然语言处理,命名实体识别可用的高效包...
  • 基于Java+SpringBoot+vue+element驾校管理系统设计和实现
  • Unity中值类型和引用类型及使用时的注意事项
  • PM510V16 3BSE008358R1嵌入式卡件用于励磁系统多用于工业发电
  • AI 这是要杀疯啦!
  • 【精品示例】超实用Python爬虫入门实例——做一个优质舔狗
  • TCP流量控制与拥塞控制
  • Java_异常
  • 自动化工具 接口自动化测试引擎
  • 十三、详解Kubernetes的存储管理器
  • java版 工程管理系统源码之提高工程项目管理软件的效率
  • VMware 安装 MS-DOS7.10 并配置网络
  • 嵌入式51单片机04-矩阵按键系列
  • 某安全对抗行走APP逆向分析
  • 数据库基础篇 《11.数据处理之增删改》
  • IDEA插件-MavenHapler
  • getaddrinfo调用crash 的debug过程
  • 【Sql】sql语句练习随记
  • IDEA社区版搭建Tomcat服务器并创建web项目
  • C++ [STL-简介]
  • 牛客前端编程语言错题2
  • 【C语言】基础语法3:控制流程结构