关于Scoresjava的信息
本篇文章给大家谈谈Scoresjava,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java初级数组,打分器,5个评委评分,去掉最高和最低分,取剩余平均值
- 2、编写java程序,输入10个成绩,计算最高分、最低分、平均分,并按从小到大排序,统计高于平均分的人数。
- 3、JAVA代码问题!输入5名学生的成绩,并计算总成绩,平均分,最高分,最低分
- 4、Scores[i][j]++在java是啥意思?
- 5、求JAVA评委打分代码
java初级数组,打分器,5个评委评分,去掉最高和最低分,取剩余平均值
import java.util.Arrays;
import java.util.Scanner;
public class ScoreDemo {
public static void main(String[] args) {
double[] scores = new double[5];
Scanner input = new Scanner(System.in);//扫描器用于读取控制台输入
for (int i = 0; i scores.length; i++) {//输入分数
System.out.print("请输入第" + (i + 1) + "位评委的分数");
String temp = input.nextLine().trim();
scores[i] = Double.parseDouble(temp);
}
getScore(scores);//对分数进行处理的函数
}
private static void getScore(double[] scores) {
//对分数进行排序
double temp;
for (int i = 0; i scores.length - 1; i++) {
for (int j = i + 1; j scores.length; j++) {
if (scores[i] scores[j]) {
temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
}
}
}
//去掉一个高分,一个低分后的平均分
double sum =0;
for (int i = 1; i scores.length-1; i++) {
sum+=scores[i];
}
double pjf = sum/(scores.length-2);
System.out.println("排序后的分数:"+Arrays.toString(scores));
System.out.println("去掉一个最高分:"+scores[scores.length-1]);
System.out.println("去掉一个最低分:"+scores[0]);
System.out.println("最后的平均分是:"+String.format("%.2f",pjf));//平均分保留2位小数
}
}
运行测试
请输入第1位评委的分数92.5
请输入第2位评委的分数90.0
请输入第3位评委的分数93.8
请输入第4位评委的分数95.9
请输入第5位评委的分数97.9
排序后的分数:[90.0, 92.5, 93.8, 95.9, 97.9]
去掉一个最高分:97.9
去掉一个最低分:90.0
最后的平均分是:94.07
编写java程序,输入10个成绩,计算最高分、最低分、平均分,并按从小到大排序,统计高于平均分的人数。
Java 8 以上(包含java8) Lambda 方式,这种方式比较简洁,代码如下:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class App20 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ListFloat scores = new ArrayList();
System.out.println("请输入10个人的成绩:");
for (int i = 0; i 10; i++) {
scores.add(scanner.nextFloat());
}
float max = scores.stream().max((x, y) - Float.compare(x, y)).get();
System.out.println("最高分:" + max);
float min = scores.stream().min((x, y) - Float.compare(x, y)).get();
System.out.println("最低分:" + min);
float average = scores.stream().reduce(0.0f, Float::sum) / scores.size();
System.out.println("平均分:" + average);
scores.sort((x, y) - Float.compare(x, y));
System.out.println("从小到大分数排序:");
scores.forEach(s - System.out.print(s + " "));
long n = scores.stream().filter(r - r average).count();
System.out.println("\n高于平均分的有" + n + "个");
}
}
传统方式,如下:
import java.util.Arrays;
public class App21 {
public static void main(String[] args) {
float[] scores = new float[] { 10f, 9f, 8f, 7f, 6f, 5f, 4f, 3f, 2f, 1f };
float max = Float.MIN_VALUE;
for(float score : scores) {
if (score max) {
max = score;
}
}
System.out.println("最高分:" + max);
float min = Float.MAX_VALUE;
for(float score : scores) {
if (score min) {
min = score;
}
}
System.out.println("最低分:" + min);
float sum = 0;
for(float score : scores) {
sum += score;
}
float average = sum / scores.length;
System.out.println("平均分:" + average);
// 从小到大排序
Arrays.sort(scores);
System.out.println("从小到大分数排序:");
for(float score : scores) {
System.out.print(score + " ");
}
int n = 0;
for(float score : scores) {
if (score average)
n++;
}
System.out.println("\n高于平均分的有" + n + "个");
}
}
JAVA代码问题!输入5名学生的成绩,并计算总成绩,平均分,最高分,最低分
public static void main(String[] args) {
double scores[] = new double[5];
double total = 0;
double avg = 0;
double max = 0;
double min = 0;
int count=0;
String inputStr=null;
System.out.println("请输入5名学生的成绩:");
Scanner input = new Scanner(System.in);
while(count5){
try{
if(count 5){
System.out.println("请输入第"+(count+1)+"个分数:");
}
inputStr=input.nextLine();
scores[count++]=Double.valueOf(inputStr.trim());
}catch(Exception e){
if(inputStr!=null "exit".equals(inputStr.trim())){
System.out.println("您已成功结束程序");
System.exit(0);
}
System.out.println("若想结束请输入:exit");
System.out.print("您输入的分数不是数值类型,");
count--;
}
}
input.close();
Arrays.sort(scores);
min=scores[0];
max=scores[scores.length-1];
for(double score :scores){
total += score;
}
avg=total/scores.length;
System.out.println("总成绩是" + total);
System.out.println("最高分是" + max);
System.out.println("最低分是" + min);
System.out.println("平均分是" + avg);
}
//-------------------------------------------------------------------------
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(true){
Double[] scores = null;
double total = 0;
double avg = 0;
double max = 0;
double min = 0;
int count=1;
ListDouble inputScores=new ArrayListDouble();
String inputStr=null;
System.out.println("请输入要统计学生的成绩(理论上可以输入无限个,前提是你有那么大的内存):");
while(true){
try{
System.out.println("请输入第"+count+++"个分数,或输入ok进行计算,离开请输入exit");
inputStr=input.nextLine();
inputScores.add((double)Double.valueOf(inputStr.trim()));
}catch(Exception e){
if(inputStr!=null "exit".equals(inputStr.trim().toLowerCase())){
System.out.println("您已成功结束程序");
input.close();
System.exit(0);
}
if(inputStr!=null "ok".equals(inputStr.trim().toLowerCase())){
break;
}
System.out.println("您输入的分数不是数值类型,");
System.out.println("若想结束请输入exit ,若想计算结果请输入ok");
count--;
}
}
if(inputScores.size()==0){
System.out.println("您没有输入学生成绩,无数据可统计,程序结束。");
return ;
}
scores=inputScores.toArray(new Double[inputScores.size()]);
Arrays.sort(scores);
min=scores[0];
max=scores[scores.length-1];
for(double score :scores){
total += score;
}
avg=total/scores.length;
System.out.println("总成绩是" + total);
System.out.println("最高分是" + max);
System.out.println("最低分是" + min);
System.out.println("平均分是" + avg);
}
}
Scores[i][j]++在java是啥意思?
你好,很高兴回答你的问题。
i++这样的有没有使用过呢,了解吗?
就是相当于i=i+1。
这里的Score[i][j]++是一样道理。相当于Score[i][j]=Score[i][j]+1。
如果有帮助到你,请点击采纳。
求JAVA评委打分代码
正好我闲着,给你写一个吧。
我写的这个评委分数是在代码里固定到数组里了,如果你需要运行时手动输入评分,可以将oldScores里的数据改成手动输入就行了(这个不用我再写了吧,如果不会再追问,再告诉你)。
你先新建一个类,将下面的main方法全部复制进去就能运行了,自己看一下吧。
/** 主方法 */
public static void main(String[] args)
{
/** 保存原始评分的数组(如果你需要运行时手动输入分数,将 oldScores中的数据改成手动输入就行了 */
double[] oldScores = {15, 77, 55, 88, 79, 98, 67, 89, 68, 88};
/** 最终将用来保存排序后的数组 */
double[] scores = new double[oldScores.length];
double temp;
/** 平均分 */
double avg = 0;
int k;
/** 将原始评分放入最终排序数组 */
for (int i = 0; i oldScores.length; i++)
{
scores[i] = oldScores[i];
}
/** 开始排序 */
for (int i = 0; i scores.length - 1; i++)
{
k = i;
for (int j = i + 1; j scores.length; j++)
{
if (scores[k] scores[j])
{
k = j;
}
}
if (i != k)
{
temp = scores[k];
scores[k] = scores[i];
scores[i] = temp;
}
}
/** 计算去掉最高分和最低分之后的和 */
double sum = 0;
/** 记录计算平均分的分数个数 */
double num = 0;
for (int i = 1; i scores.length - 1; i++)
{
num++;
sum += scores[i];
}
/** 计算平均分 */
avg = sum / num;
/** 最公平的肯定不是在scores数组两端 */
double zgp = 0;
double cha = 0;
/** 标记与平均值差值最小的分数位置 */
int flag = 0;
/** 开始寻找最公平评分 */
for (int i = 1; i scores.length - 1; i++)
{
/** 为cha赋初始值,注意比较差值要使用绝对值比较 */
if (i == 1)
{
cha = Math.abs(scores[i] - avg);
}
double cha1 = Math.abs(scores[i] - avg);
if (cha1 cha)
{
cha = cha1;
flag = i;
}
}
zgp = scores[flag];
/** 由于最不公平的分数肯定在scores数组的第一个或者是最后一个 */
double bgp = 0;
if (Math.abs(scores[0] - avg) Math.abs(scores[scores.length - 1] - avg))
{
bgp = scores[0];
}
else
{
bgp = scores[scores.length - 1];
}
/** 全部计算完成,下面开始输出结果 */
System.out.println("原始评委分数如下:");
for (int i = 0; i oldScores.length; i++)
{
System.out.print(oldScores[i] + ", ");
}
System.out.println();
System.out.println("排序后分数如下:");
for (int i = 0; i scores.length; i++)
{
System.out.print(scores[i] + ", ");
}
System.out.println();
System.out.println("去掉最高分和最低分后平均分:" + avg);
System.out.println("最公平分数:" + zgp);
System.out.println("最不公平分数:" + bgp);
}
Scoresjava的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、Scoresjava的信息别忘了在本站进行查找喔。
发布于:2022-12-22,除非注明,否则均为
原创文章,转载请注明出处。