首页 > 编程语言 >编程初学者入门5_键盘输入5个人的身高(米),求他们的平均身高(米)。(C的没问题,试着用Java写一下,Java的Scanner类需要多次输入、存到多个变量中+Java浮点数输出格式printf)

编程初学者入门5_键盘输入5个人的身高(米),求他们的平均身高(米)。(C的没问题,试着用Java写一下,Java的Scanner类需要多次输入、存到多个变量中+Java浮点数输出格式printf)

时间:2023-06-28 10:33:15浏览次数:35  
标签:avg Java double 浮点数 sc 身高 nextDouble


写在前面

此系列博客为 牛客网编程初学者入门 题目小结,题目很基础

不常用的知识容易遗忘,为了边复习c语言和学习Java,后面系列博客将采用c、c++、Java双语言版记录

现在位置(72/140),虽然我走的很慢,但我仍在前进~

题目描述

从键盘输入5个人的身高(米),求他们的平均身高(米)。

  • 输入描述:
    一行,连续输入5个身高(范围0.00~2.00),用空格分隔。
  • 输出描述:
    一行,输出平均身高,保留两位小数。

代码

C

#include<bits/stdc++.h>
using namespace std;
int main()
{
    float f1,f2,f3,f4,f5,avg;
    scanf("%f%f%f%f%f",&f1,&f2,&f3,&f4,&f5);
    avg = (f1+f2+f3+f4+f5)/5.0;
    printf("%.2f",avg);
    return 0;
    
}

Java

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        double avg;
        double d1 = sc.nextDouble();
        double d2 = sc.nextDouble();
        double d3 = sc.nextDouble();
        double d4 = sc.nextDouble();
        double d5 = sc.nextDouble();
        avg = (d1+d2+d3+d4+d5)/5.0;
        System.out.printf("%.2f",avg);
        
    }
}

Java跑的挺慢的~

编程初学者入门5_键盘输入5个人的身高(米),求他们的平均身高(米)。(C的没问题,试着用Java写一下,Java的Scanner类需要多次输入、存到多个变量中+Java浮点数输出格式printf)_编程语言

拓展

还有另外一种 Java一次输入多值存到多个变量中的 思路,就是

先读取一行字符串String str = sc.nextLine();

然后字符串调用方法切去空格

切掉空格之后,保存到字符串 数组中String [] str_Array = str.split(" ");

定义变量依次接受 字符串数组元素.parse... 的值int a = Integer.parseInt(str_Array[0]); ....


标签:avg,Java,double,浮点数,sc,身高,nextDouble
From: https://blog.51cto.com/u_15790456/6569640

相关文章

  • 编程初学者入门6_简单分支问题+Java在OJ中实现多组输入sc.hasNextInt()函数
    题目KiKi想知道这学期他的学习情况,BoBo老师告诉他这学期挂的科目累计的学分,根据所挂学分,判断KiKi学习情况,10分以上:很危险(Danger++),4~9分:危险(Danger),0~3:Good。输入描述:一行,一个整数(0~30),表示KiKi挂的科目累计的学分。输出描述:一行,根据输入的挂科学分,输出相应学习情况(Danger+......
  • 编程初学者入门7_公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分
    题目描述公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。输入描述:一行,输入7个整数(0~100),代表7个成绩,用空格分隔。输出描述:一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。示例1我的......
  • Java线程的WAITING状态和BLOCKED状态之间区别的一点理解
    先说结论:WAITING状态是线程在获取锁对象之后,由于某些原因需要等待一些事件的完成才能继续执行,这时线程调用Object.wait()、Thread.sleep()、Thread.join()等方法进入WAITING状态。而BLOCKED状态则是线程在准备进入某个同步代码块时,发现锁对象已经被其它线程占用了,这时线程就会进入......
  • Java语言学习2
    JavaSE2面向对象(OOP)编程初始面向对象面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么....面向过程适合处理一些简单的问题面向对象思想物以类聚,分类的思维模式,思考问题是否首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对......
  • Java语言学习1
    JavaSE1机器语言的发展史第一代语言(机器语言)机器语言计算机的基本计算方式都是基于二进制的方式。二进制:0101010010110101001这种代码是直接输入给计算机使用的,不经过任何转换101210311410051016110711181000161000032100000第二代机器语言(......
  • Java之thread常用成员
    setName用于自定义线程的名字,方便我们调试定为问题;@TestpublicvoidsetNameTest(){Runnablerun=()->{System.out.println(Thread.currentThread().getName());};vart1=newThread(run);t1.start();......
  • 【后端面经-Java】Synchronize和ReentrantLock区别
    目录1.概念介绍1.1线程安全锁1.2公平锁1.3响应中断/等待可中断2.区别2.1底层实现2.2锁的用法2.3锁的特点2.4性能比较2.5适用场景3.总结比较参考文献1.概念介绍1.1线程安全锁Synchronize(同步锁)和ReentrantLock(可重入锁)都是Java中的常用锁,都是用来保证线程安全的。......
  • java反序列化与反序列化
    java反序列化漏洞JAVA反序列化漏洞是由于开发者重写了readObject方法,该readObject方法方法调用了别的方法,最终执行到了例如Transfrom方法的危险方法java序列化过程:调用一个函数进行序列化,存放到一个文件内,再将文件反序列化回来,涉及到文件的读写序列化与反序列化序列化:Objec......
  • 【Java】讲讲StreamAPI
     预设场景:从Mybatis调用Mapper得到的用户集合List<UserDTO>userList=newArrayList<>(); 常用的几种API用法示例:Map方法,转换为某一个字段的集合:List<Integer>userIdList=userList.stream()/*map转换成某个类型来处理,比如这个场景是为了快速......
  • JavaBlog-3
    前言第三次也是最后博客文章主要是关于java课程第三阶段关于PTA题目集、超星作业以及在实验平台上布置的一些题型。相较于第一、二阶段的作业总结而言此次作业更加针对于总结在面向对象过程中的三大技术特性,即封装性、继承性和多态性,类图的设计更加普遍。在不断深入学习Java......