62,616
社区成员
发帖
与我相关
我的任务
分享
import java.util.Scanner;
public class Test {
//升序排序
static void sort(double[] a){
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]) {
double temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
}
//字符串转double
static double[] string2Double(String[] strs){
double[] result = new double[strs.length];
for(int i=0;i<strs.length;i++){
result[i]=Double.parseDouble(strs[i]);
}
return result;
}
//求和
static double getSum(double[] a){
double sum=0;
for(int i=0;i<a.length;i++){
sum+=a[i];
}
return sum;
}
//求最大值
static double getMax(double[] a){
double max=a[0];
for(int i=1;i<a.length;i++){
if(a[i]>max)
max=a[i];
}
return max;
}
//求最小值
static double getMin(double[] a){
double min=a[0];
for(int i=1;i<a.length;i++){
if(a[i]<min)
min=a[i];
}
return min;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("====求和及求最大值最小值====");
System.out.println("请输入一行逗号分隔的数值(以回车结束):");
String s=sc.nextLine();
String strs[] = s.split(",");//以逗号分隔
double[] d=string2Double(strs);
sort(d);
System.out.println("升序排序后的结果:");
for(int i=0;i<d.length;i++){
if(i==0)
System.out.print("["+d[i]);
else if(i==d.length-1)
System.out.println(", "+d[i]+"]");
else
System.out.print(", "+d[i]);
}
System.out.println("总个数:"+d.length);
System.out.println("总数和:"+getSum(d));
System.out.println("最大值:"+getMax(d));
System.out.println("最小值:"+getMin(d));
}
}
成绩统计
import java.math.BigDecimal;
import java.util.Scanner;
public class Test {
//降序排序
static void sort(double[] a){
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]<a[j]) {
double temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
}
//字符串转double
static double[] string2Double(String[] strs){
double[] result = new double[strs.length];
for(int i=0;i<strs.length;i++){
result[i]=Double.parseDouble(strs[i]);
}
return result;
}
//求和
static double getAvg(double[] a){
double sum=0;
for(int i=0;i<a.length;i++){
sum+=a[i];
}
//保留两位小数
BigDecimal b = new BigDecimal(sum/a.length);
return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
}
//求最大值
static double getMax(double[] a){
double max=a[0];
for(int i=1;i<a.length;i++){
if(a[i]>max)
max=a[i];
}
return max;
}
//求最小值
static double getMin(double[] a){
double min=a[0];
for(int i=1;i<a.length;i++){
if(a[i]<min)
min=a[i];
}
return min;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("====成绩统计====");
System.out.println("请输入一行逗号分隔的数值(以回车结束):");
String s=sc.nextLine();
String strs[] = s.split(",");//以逗号分隔
double[] d=string2Double(strs);
sort(d);
System.out.println("降序排序后的结果:");
for(int i=0;i<d.length;i++){
if(i==0)
System.out.print("["+d[i]);
else if(i==d.length-1)
System.out.println(", "+d[i]+"]");
else
System.out.print(", "+d[i]);
}
System.out.println("最高分:"+getMax(d));
System.out.println("最低分:"+getMin(d));
System.out.println("平均分:"+getAvg(d));
}
}
基本需求应该是实现了,只是没有对输入的值进行校验