我有这段代码
String info = ...;
info = info +" "+gst;
此info
存储3个gst double
数据类型值。我想读取这些值,比较它们,我想显示最大值,平均值和总共3个值。
我该怎么做?
答案 0 :(得分:0)
首先:解析双
eg: String gst_="3";
Double gst=Double.parseDouble(gst_);
答案 1 :(得分:0)
请参阅以下代码:
1)让我们说你的字符串信息包含由|。分隔的双值
2)使用|分割存储在info中的3个值并将它们存储在字符串数组中
3)现在迭代数组,将字符串值转换为double,保持加总值并将每个double值放在一个double数组中。
4)现在找出max,你可以使用Math.max方法,它可以取两个double值
5)平均值可以通过sum / array.length找到,即在你的情况下为3。
注意: - double有舍入问题,所以考虑将double值四舍五入到特定的小数点。
public static void main(String[] args){
//Let say your info contains 3 double values
//separated by |
String info="23.00|43.23|32.22";
//splitting the info by |
String[] infoArray=info.split("\\|");
double sum=0;
double[] doubleArray=new double[3];
try{
int index=0;
for(String s: infoArray){
//converting each value to double
double val=Double.parseDouble(s);
sum=sum+val;
doubleArray[index]=val;
index++;
}
}
catch(NumberFormatException nfe){
System.out.println("Not a valid double value:"+nfe.getMessage());
}
System.out.println("Maximum:"+Math.max(doubleArray[0], Math.max(doubleArray[1], doubleArray[1])));
System.out.println("sum:"+sum);
double avg=sum/infoArray.length;
System.out.println("Average:"+avg);
}
Output:-
Maximum:43.23
sum:98.44999999999999
Average:32.81666666666666