Java练习题目3:输入一个学生的5门课成绩及对应的学分,计算该同学的加权平均分(WeightedAverageScore3)

每日小语

我们没有意识到惯用语言的结构有多大的力量。可以说,它通过语义反应机制奴役我们。

                                                                                                              ——阿尔弗雷德·科日布斯基

思考

输入5门课成绩,学分,加权平均分公式

[(课程A成绩*课程A学分)+(课程成绩B*课程B学分)+……(课程成绩X*课程X学分)]/总课程学分

这个当然可以慢慢输入,但我突然想到老师要考察循环。

一到循环我就死翘翘。。。

这个似乎得用数组比较好,但我忘记了。

自己敲写

import java.util.Scanner;
public class WeightedAverageScore3 
{public static void main(String[] args){double grade;double score;//输入5门课的成绩for(int num = 0;num<6;num++)//num的范围仅仅在for循环体内System.out.println("第"+num+"门成绩");Scanner scanner = null;grade=scanner.nextDouble();//输入5门课的学分double TotalScore;for(int a = 0;a<6;a++);String a = null;System.out.println("第"+a+"门学分");Scanner scanner1 = null;score=scanner1.nextDouble();TotalScore = score++;//总学分//计算加权平均分double WeightedAverageScore;WeightedAverageScore = ;//输出数据System.out.println("加权平均分为:"+ WeightedAverageScore);}
}

问题有,如何把循环出的每一次结果保存到一个单独的地方,方便应用

还是得用数组,行记为学分,列记为成绩。

import java.util.Scanner;
public class WeightedAverageScore3 
{@SuppressWarnings("null")public static void main(String[] args){double[] grade = null;double[] score = null;//输入5门课的学分int num;for(num = 0;num<6;num++)//n的范围仅仅在for循环体内System.out.println("第"+num+"门学分");@SuppressWarnings("resource")Scanner scanner = new Scanner(System.in);grade[num]=scanner.nextDouble();//输入5门课的成绩int a;for(a = 0;a<6;a++);System.out.println("第"+a+"门成绩");Scanner scanner1 = new Scanner(System.in);score[a]=scanner1.nextDouble();//计算总学分@SuppressWarnings("unused")double TotalScore;int b;for(b = 0;b<6;b++)TotalScore = grade[num]++;//计算加权平均分double WeightedAverageScore;WeightedAverageScore = ((grade[0]*score[0])+(grade[1]*score[1])+(grade[2]*score[2])+(grade[3]*score[3])+(grade[4]*score[4]));//输出数据System.out.println("加权平均分为:"+ WeightedAverageScore);}
}

这个问题很诡异,我的想法是它每循环一下,我输入一个值,然后再下一次,可它全都出来了。。。。

import java.util.Scanner;
public class WeightedAverageScore3 
{@SuppressWarnings("null")public static void main(String[] args){double[] grade = null;double[] score = null;Scanner scanner = new Scanner(System.in);//提到循环体外//输入5门课的学分int num;for(num = 0;num<5;num++){//n的范围仅仅在for循环体内System.out.println("第"+num+"门学分");grade[num]=scanner.nextDouble();}//输入5门课的成绩int a;for(a = 0;a<5;a++){System.out.println("第"+a+"门成绩");score[a]=scanner.nextDouble();}//计算总学分@SuppressWarnings("unused")double totalScore=0;//设定初始值int b;for(b = 0;b<5;b++)//从0开始{totalScore += grade[b];}//计算加权平均分double WeightedAverageScore;WeightedAverageScore = ((grade[0]*score[0])+(grade[1]*score[1])+(grade[2]*score[2])+(grade[3]*score[3])+(grade[4]*score[4]));//输出数据System.out.println("加权平均分为:"+ WeightedAverageScore);scanner.close();}
}

emmm,还是不对头,不过快要睡觉了唉。

重新看了一下,问题在于grade这些必须创建为一个对象,要不然传不入数据。

终极代码

//输入一个学生的5门课成绩及对应的学分,计算该同学的加权平均分
import java.util.Scanner;
public class WeightedAverageScore3 
{public static void main(String[] args){double[] grade = new double[5];//必须创建新的对象,要不然会报错double[] score = new double[5];Scanner scanner = new Scanner(System.in);//提到循环体外//输入5门课的学分int num;for(num = 0;num<5;num++){//n的范围仅仅在for循环体内System.out.println("第"+num+"门学分");grade[num]=scanner.nextDouble();}//输入5门课的成绩int a;for(a = 0;a<5;a++){System.out.println("第"+a+"门成绩");score[a]=scanner.nextDouble();}//计算总学分@SuppressWarnings("unused")double totalScore=0;//设定初始值int b;for(b = 0;b<5;b++)//从0开始{totalScore += grade[b];}//计算加权平均分double WeightedAverageScore;WeightedAverageScore = ((grade[0]*score[0])+(grade[1]*score[1])+(grade[2]*score[2])+(grade[3]*score[3])+(grade[4]*score[4]));//输出数据System.out.println("加权平均分为:"+ WeightedAverageScore);scanner.close();}
}

撒花花~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/765229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Learn OpenGL 19 几何着色器

几何着色器 在顶点和片段着色器之间有一个可选的几何着色器(Geometry Shader)&#xff0c;几何着色器的输入是一个图元&#xff08;如点或三角形&#xff09;的一组顶点。几何着色器可以在顶点发送到下一着色器阶段之前对它们随意变换。然而&#xff0c;几何着色器最有趣的地方…

动态路由协议——OSPF

目录 一.OSPF来源 二.OSPF术语 1.area id——区域的划分 2.cost——路径开销值 3.route id 4.LSDB表 5.邻居表 6.OSPF路由表 三.OSPF工作过程 1.交互hello报文建立邻居关系 2.选举主从 3.交互LSDB摘要信息 4.LSR,LSU,LSACK同步LSDB表项 5.各自计算路由 四.OSPF交…

maven手动上传的第三方包 打包项目报错 Could not find xxx in central 解决办法

背景: 在Maven私服手动上传了第三方的jar包, 只有jar包, 没有pom文件, 项目在ide中可以正常编译启动,但打包报错无法找到jar包 解决办法: 上传jar包的时候, 点击生成pom. 则打包的时候不会报错

pyrealsense2获取保存点云

一、第一种实现代码 Python import sys import cv2 import pyrealsense2 as rs import numpy as np import keyboard import open3d as o3d import osif __name__ "__main__":output_folder output_data/os.makedirs(output_folder, exist_okTrue)pipeline rs.p…

三级数据库技术知识点(详解!!!)

1、从功能角度数据库应用系统可以划分为表示层、业务逻辑层、数据访问层、数据持久层四个层次&#xff0c;其中负责向表示层直接传送数据的是业务逻辑层。 【解析】表示层负责所有与用户交互的功能;业务逻辑层负责根据业务逻辑需要将表示层获取的数据进行组织后&#xff0c;传…

阅读MySQL知识4

一、MySQL数据库主从同步延迟产生的原因 MySQL的主从复制都是单线程的操作&#xff0c;主库对所有DDL和DML产生的日志写进binlog&#xff0c;由于binlog是顺序写&#xff0c;所以效率很高。 Slave的SQL Thread线程将主库的DDL和DML操作事件在slave中重放。DML和DDL的IO操作…

SpringBoot如何替换启动图标

SpringBoot项目在启动时会出现一个默认的启动图案 . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/::…

软件架构和基于架构的软件开发方法知识总结

一、软件架构定义 软件架构为软件系统提供了一个结构、行为和属性的高级抽象 软件架构是一种表达&#xff0c;使软件工程师能够&#xff1a; &#xff08;1&#xff09;分析设计在满足所规定的需求方面的有效性 &#xff08;2&#xff09;在设计变更相对容易的阶段&#xff0c;…

题目:异或森林(蓝桥OJ 3400)

问题描述&#xff1a; 解题思路&#xff1a; 一个数也可以看作是一段区间&#xff0c;当该区间的异或和为完全平方数时则符合题意。 我们需要注意枚举的完全平方的上限。 异或前缀和减小时间复杂度。 题解&#xff1a; #include <bits/stdc.h> using namespace std; usi…

vi\vim编辑器详解

vi\vim编辑器介绍 vi\vim是visual interface的简称, 是Linux中最经典的文本编辑器 同图形化界面中的 文本编辑器一样&#xff0c;vi是命令行下对文本文件进行编辑的绝佳选择。 vim 是 vi 的加强版本&#xff0c;兼容 vi 的所有指令&#xff0c;不仅能编辑文本&#xff0c;而…

鸿蒙一次开发,多端部署(九)应用市场首页

本小节将以应用市场首页为例&#xff0c;介绍如何使用自适应布局能力和响应式布局能力适配不同尺寸窗口。 页面设计 一个典型的应用市场首页的UX设计如下所示。 观察应用市场首页的页面设计&#xff0c;不同断点下的页面设计有较多相似的地方。 据此&#xff0c;我们可以将页…

python的BBS论坛系统flask-django-nodejs-php

为了更好地发挥本系统的技术优势&#xff0c;根据BBS论坛系统的需求&#xff0c;本文尝试以B/S架构设计模式中的django/flask框架&#xff0c;python语言为基础&#xff0c;通过必要的编码处理、BBS论坛系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法&#xff…

WebClient上载文件——实现将本地文件同步到远端服务器上

问题描述 用户上传产品示例图片到服务器端上&#xff0c;客户端在请求图片资源时&#xff0c;当服务端架设了多个节点的情况下&#xff0c;由于没有负载均衡请求到保存图片资源的服务器&#xff0c;出现图片访问404的问题。 这里保存上传文件时&#xff0c;同时需要将该文件保…

数学建模(层次分析法 python代码 案例)

目录 介绍&#xff1a; 模板&#xff1a; 例题&#xff1a;从景色、花费、饮食&#xff0c;男女比例四个方面去选取目的地 准则重要性矩阵&#xff1a; 每个准则的方案矩阵&#xff1a;​ 一致性检验&#xff1a; 特征值法求权值&#xff1a; 完整代码&#xff1a; 运行结…

1.6 学Python能干什么,Python的应用领域有哪些

Python能干什么&#xff0c;Python的应用领域 Python 作为一种功能强大的编程语言&#xff0c;因其简单易学而受到很多开发者的青睐。那么&#xff0c;Python 的应用领域有哪些呢&#xff1f; Python 有着非广泛的应用&#xff0c;几乎所有大中型互联网公司都在使用 Python&a…

基于甘特图的资源调度优化策略

资源在项目管理中是一个永恒的话题。无论人力、物力还是财力资源,总是捉襟见肘,都希望用最少的资源完成最大的工作。这就要求我们在资源调度方面果断精准,做到最优化。而甘特图作为项目时间规划的重要工具,恰恰能为资源调度提供绝佳帮助。 甘特图能反映出任务之间的制约关系,有…

Flutter 项目架构技术指南

Flutter 项目架构技术指南 视频 https://www.bilibili.com/video/BV1rx4y127kN/ 前言 原文 https://ducafecat.com/blog/flutter-clean-architecture-guide 探讨Flutter项目代码组织架构的关键方面和建议。了解设计原则SOLID、Clean Architecture&#xff0c;以及架构模式MVC…

(MATLAB)第二十一章 Simulink仿真设计初步

Simulink是MATLAB的重要组成部分&#xff0c;可以非常容易地实现可视化建模&#xff0c;并把理论研究和工程实践有机地结合在一起&#xff0c;不需要书写大量程序&#xff0c;只需要使用鼠标和键盘对已有模块进行简单的操作和设置。 21.1 Simulink简介 Simulink是MATLAB软件的…

linux热键,man手册介绍

目录 热键 tab ctrl c ctrl r man 区段 快捷键 热键 tab 可以看到以输入的内容为开头的指令,但无法选择: 当输入的内容匹配到的内容只有一个时,可以自动补全 可以用于输入路径时,自动补全文件名 ctrl c 让当前的程序停掉,可以在 程序或指令出问题而自己无法停止时 使用…

LeetCode---126双周赛

题目列表 3079. 求出加密整数的和 3080. 执行操作标记数组中的元素 3081. 替换字符串中的问号使分数最小 3082. 求出所有子序列的能量和 一、求出加密整数的和 按照题目要求&#xff0c;直接模拟即可&#xff0c;代码如下 class Solution { public:int sumOfEncryptedInt…