以下java代码 想让平均成绩保留两位小数,请指点,谢谢,,代码如下。。。。。。。。。。。。。
packageNine;importjava.util.*;publicclassave{/***@paramargs*/publicstaticvoidmain(Str...
package Nine;
import java.util.*;
public class ave {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int[]scores=new int[4];
int sum=0;
for(int i=0;i<4;i++){
System.out.println("请输入第"+(i+1)+"位同学的成绩");
scores[i]=input.nextInt();
sum=sum+scores[i];
}
double ave=sum/4;
System.out.println("平均成绩是:"+ave);
}
}
现在输出的都是整数 展开
import java.util.*;
public class ave {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int[]scores=new int[4];
int sum=0;
for(int i=0;i<4;i++){
System.out.println("请输入第"+(i+1)+"位同学的成绩");
scores[i]=input.nextInt();
sum=sum+scores[i];
}
double ave=sum/4;
System.out.println("平均成绩是:"+ave);
}
}
现在输出的都是整数 展开
12个回答
展开全部
使用DecimalFormat格式化
Scanner input = new Scanner(System.in);
int[] scores = new int[4];
int sum = 0;
for (int i = 0; i < 4; i++) {
System.out.println("请输入第" + (i + 1) + "位同学的成绩");
scores[i] = input.nextInt();
sum = sum + scores[i];
}
double ave = sum / 4.0;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println("平均成绩是:" + format.format(ave));
Scanner input = new Scanner(System.in);
int[] scores = new int[4];
int sum = 0;
for (int i = 0; i < 4; i++) {
System.out.println("请输入第" + (i + 1) + "位同学的成绩");
scores[i] = input.nextInt();
sum = sum + scores[i];
}
double ave = sum / 4.0;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println("平均成绩是:" + format.format(ave));
追问
你好
double ave=(double)sum/4;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println("平均成绩是:"+ format.format(ave));
在DecimalFormat下面有红线报错,请问为啥?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在定义的时候就用double去定义或者float,然后在获取平均结果的时候使用split方法去按照小数点后两位截取。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Scanner input=new Scanner(System.in);
int[]scores=new int[4];
double sum=0;
for(int i=0;i<4;i++){
System.out.println("请输入第"+(i+1)+"位同学的成绩");
scores[i]=input.nextInt();
sum=sum+scores[i];
}
double ave=sum/4;
String aa = new DecimalFormat("0.00").format(ave);
System.out.println("平均成绩是:"+aa);
int[]scores=new int[4];
double sum=0;
for(int i=0;i<4;i++){
System.out.println("请输入第"+(i+1)+"位同学的成绩");
scores[i]=input.nextInt();
sum=sum+scores[i];
}
double ave=sum/4;
String aa = new DecimalFormat("0.00").format(ave);
System.out.println("平均成绩是:"+aa);
追问
double ave=(double)sum/4;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println("平均成绩是:"+ format.format(ave));
在DecimalFormat下面有红线报错,请问为啥?
追答
那是因为你没有导入DecimalFormat这个类,你import这个类就行了
也就是加入这段话 import java.text.DecimalFormat;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double ave=sum/4; 等于 double ave = (double) (int/4)
先除法得到一个int 然后强制转换成double。所以都是整数。
应该是 double ave = ((double)sun ) / 4; 得到的才是double值。
先除法得到一个int 然后强制转换成double。所以都是整数。
应该是 double ave = ((double)sun ) / 4; 得到的才是double值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
double[]scores=new double[4];
double sum=0.00;
for(int i=0;i<4;i++){
System.out.println("请输入第"+(i+1)+"位同学的成绩");
scores[i]=input.nextDouble();
sum=sum+scores[i];
}
double ave=sum/4;
System.out.println("平均成绩是:"+ave);
}
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
double[]scores=new double[4];
double sum=0.00;
for(int i=0;i<4;i++){
System.out.println("请输入第"+(i+1)+"位同学的成绩");
scores[i]=input.nextDouble();
sum=sum+scores[i];
}
double ave=sum/4;
System.out.println("平均成绩是:"+ave);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询