import java.util.Scanner;
/**
* 测试类, do-while示例
* 从控制台获取输入的成绩; 输入0或负数时, 结束输入.
* 统计输入的成绩: 有效成绩(大于0的分数)的个数, 总分, 平均分,
合格率(60分以上), 优良率(80分以上)
* @author Administrator
*
*/
public class Test7 {
public static void main(String[] args) {
//声明变量
Scanner input = new Scanner(System.in); //扫描器
double totalScore = 0; //总分
double count = 0; //有效成绩的个数
int countPass = 0; //合格成绩的个数
int countGood = 0; //优良成绩的个数
//循环, 获取成绩并统计
while(true) {
/* 获取成绩 */
//提示语句
System.out.print("请输入成绩:");
//接收
int score = input.nextInt();
/* 判断, 是否结束循环 */
if(score <= 0) break;
/* 统计 */
//有效成绩的个数
count++;
//总分累加
totalScore += score;
//判断, 成绩是否合格
if (score >= 60) {
//合格成绩的个数
countPass++;
//判断, 成绩是否优良
if (score >= 80) {
//优良成绩的个数
countGood++;
}
}
}
/* 计算统计的结果并输出 */
System.out.println("有效成绩个数:" + count);
//判断, count是否大于0
if (count > 0) {
System.out.println("总 分:\t" + totalScore);
System.out.println("平均分:\t" + (totalScore / count));
System.out.println("合格率:\t" + (countPass / count * 100) + "%");
System.out.println("优良率:\t" + (countGood / count * 100) + "%");
}
}
}
运行结果