{"deviceid":"460706130100567","distance":88.6,"maxspeed":85.0,"runningtime":"1时22分3秒"},
{"deviceid":"460706130100567","distance":0.0,"maxspeed":0.0,"runningtime":"0秒"},
{"deviceid":"460706130100567","distance":55.6,"maxspeed":82.0,"runningtime":"59分14秒"},
{"deviceid":"460706130100567","distance":0.0,"maxspeed":0.0,"runningtime":"0秒"},
{"deviceid":"460706130100567","distance":0.0,"maxspeed":0.0,"runningtime":"0秒"}
把上面数据写成一个
{"deviceid":"460706130100567","distance":144.2,"maxspeed":85.0,"runningtime":"2时21分17秒"}
这个460706130100567只取一个,怎么弄??????
java 数组去重复
答案:5 悬赏:20
解决时间 2021-04-22 03:01
- 提问者网友:斯文败类
- 2021-04-21 09:23
最佳答案
- 二级知识专家网友:野性且迷人
- 2021-04-21 10:48
你这个数据{"deviceid":"460706130100567","distance":88.6,"maxspeed":85.0,"runningtime":"1时22分3秒"},是json格式的吧,要转化才方便处理,或者换种格式。
我写个大概,
public class CombinTest {
//求距离之和
static double calDistance(String[] str){
double dl=0;
for(int i=0;i
dl=dl+Double.parseDouble(str[i].split(":")[1]);
}
return dl;
}
//求最大值
static double maxNum(double[] dl){
double max=0;
for(int i=0;i
if(dl[i]>max){
max=dl[i];
}
}
return max;
}
//求最大速度
static double maxSpeed(String[] str){
double[] tempArray=new double[str.length];
for(int i=0;i
tempArray[i]=Double.parseDouble(str[i].split(":")[1]);
}
return maxNum(tempArray);
}
//求时间之和
static String calTime(String[] str){
int sumSecond=0;
for(int i=0;i
sumSecond=sumSecond+dealTime(str[i].split(":")[1]);
}
String strtemp=(sumSecond/3600)+"时"+((sumSecond%3600)/60)+"分"+((sumSecond%3600)%60)+"秒";
return strtemp;
}
//处理时间
static int dealTime(String str){
int sumSecond=0;
if(!(str.indexOf("时")==-1)){
int hour=Integer.parseInt(str.split("时")[0]);
int minute=Integer.parseInt(str.split("时")[1].split("分")[0]);
int second=Integer.parseInt(str.split("时")[1].split("分")[0].split("秒")[0]);
sumSecond=hour*3600+minute*60+second;
}else if(!(str.indexOf("分")==-1)){
int minute=Integer.parseInt(str.split("分")[0]);
int second=Integer.parseInt(str.split("秒")[0]);
sumSecond=minute*60+second;
}else{
int second=Integer.parseInt(str.split("秒")[0]);
sumSecond=second;
}
return sumSecond;
}
public static void main(String[] args){
}
}
我写个大概,
public class CombinTest {
//求距离之和
static double calDistance(String[] str){
double dl=0;
for(int i=0;i
}
return dl;
}
//求最大值
static double maxNum(double[] dl){
double max=0;
for(int i=0;i
max=dl[i];
}
}
return max;
}
//求最大速度
static double maxSpeed(String[] str){
double[] tempArray=new double[str.length];
for(int i=0;i
}
return maxNum(tempArray);
}
//求时间之和
static String calTime(String[] str){
int sumSecond=0;
for(int i=0;i
}
String strtemp=(sumSecond/3600)+"时"+((sumSecond%3600)/60)+"分"+((sumSecond%3600)%60)+"秒";
return strtemp;
}
//处理时间
static int dealTime(String str){
int sumSecond=0;
if(!(str.indexOf("时")==-1)){
int hour=Integer.parseInt(str.split("时")[0]);
int minute=Integer.parseInt(str.split("时")[1].split("分")[0]);
int second=Integer.parseInt(str.split("时")[1].split("分")[0].split("秒")[0]);
sumSecond=hour*3600+minute*60+second;
}else if(!(str.indexOf("分")==-1)){
int minute=Integer.parseInt(str.split("分")[0]);
int second=Integer.parseInt(str.split("秒")[0]);
sumSecond=minute*60+second;
}else{
int second=Integer.parseInt(str.split("秒")[0]);
sumSecond=second;
}
return sumSecond;
}
public static void main(String[] args){
}
}
全部回答
- 1楼网友:安稳不如野
- 2021-04-21 13:33
是不是可以考虑用map集合做
- 2楼网友:一个很哇塞的汉子
- 2021-04-21 13:01
又提了一次,你去看看我在你另一个问题里的回答
- 3楼网友:猎杀温柔
- 2021-04-21 12:12
list array2 = new arraylist();
for (int i = 0; i < array.length; i++) {
boolean exist = false;
for (int j = 0; j < array2.size(); j++) {
if (arrays.equals(array[i], array2.get(j))) {
exist = true;
break;
}
}
if (!exist)
array2.add(array[i]);
}
string[][] x = array2.toarray(new string[0][]);
- 4楼网友:摧毁过往
- 2021-04-21 11:33
我觉得这个做4个数组比较好分别是: divices,distances,msds,rts
每个数组互相对应 如果 divices 前5个相等 则 diviceid 取 divices[4] 后面相应取前5个作运算
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯