以下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);
}
}
现在输出的都是整数
展开
 我来答
历盆郁7
2012-07-26 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:957万
展开全部
使用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));
追问
你好 
double ave=(double)sum/4;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println("平均成绩是:"+ format.format(ave));
在DecimalFormat下面有红线报错,请问为啥?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6415a1c
2012-07-26 · 超过27用户采纳过TA的回答
知道答主
回答量:217
采纳率:0%
帮助的人:97.1万
展开全部
你可以在定义的时候就用double去定义或者float,然后在获取平均结果的时候使用split方法去按照小数点后两位截取。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NE1987
2012-07-26 · 超过11用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:33.8万
展开全部
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);
追问
double ave=(double)sum/4;
DecimalFormat format = new DecimalFormat("0.00");
System.out.println("平均成绩是:"+ format.format(ave));
在DecimalFormat下面有红线报错,请问为啥?
追答
那是因为你没有导入DecimalFormat这个类,你import这个类就行了
也就是加入这段话 import java.text.DecimalFormat;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逆十字血
2012-07-26 · TA获得超过141个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:171万
展开全部
double ave=sum/4; 等于 double ave = (double) (int/4)

先除法得到一个int 然后强制转换成double。所以都是整数。

应该是 double ave = ((double)sun ) / 4; 得到的才是double值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草木摇落
2012-07-26
知道答主
回答量:29
采纳率:0%
帮助的人:10.4万
展开全部
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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式