首页 > 编程语言 >Day20 Java流程控制02:scanner进阶使用

Day20 Java流程控制02:scanner进阶使用

时间:2023-12-05 21:24:02浏览次数:47  
标签:02 Java scanner sum System println 输入 out

Java流程控制02:scanner进阶使用

1.判断是否是整数/小数:

package com.baixiaofan.scanner;

import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int i = 0;
        float f = 0.0f;
        System.out.println("请输入整数:");

        if (scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("输出的整数为:"+i);
        }else {//注意输入else表示否则 后面跟否则需要走的内容
            System.out.println("输入的不是整数数据!");
        }


        System.out.println("请输入小数数据:");

        if (scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("输出的小数为:"+f);
        }else {
            System.out.println("输出的不是小数数据!");
        }
        scanner.close();


    }


}

按正确步骤操作如:

按错误步骤操作如:(要求输入整数 却输入小数(回车)) 下一步请输入小数数据会自动执行

2.求和 平均值

package com.baixiaofan.scanner;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        //我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
        Scanner scanner = new Scanner(System.in);

        //和
        double sum = 0;
        //计算输入了多少个数字
        int m = 0;

        //通过循环判断是否还有输入,并在里面对每一次进行求和和统计
        while (scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            m = m + 1;//m++
            sum = sum + x;
            System.out.println("你输入了第"+m+"个数据,然后当前结果sum="+sum);
        }

        System.out.println(m + "个数的和为" + sum);
        System.out.println(m + "个数的平均值是" + (sum / m));

        scanner.close();//不要忘记关掉scanner的开关


    }

}

随便在运行框输入数字 如: 10 (回车).....
由于一直在循环,
输入不是double类型的字符如X打断循环,运行后面的程序即可

标签:02,Java,scanner,sum,System,println,输入,out
From: https://www.cnblogs.com/baixiaofan/p/17878188.html

相关文章

  • 聪明办法学Python Talk02 debug
    Talk02如何为Python程序debug摆正心态:机器肯定是对的,程序有bug是自己的原因调试理论:“软件”的两层含义:​ 1.人类需求在信息世界的投影​ 理解错需求->bug​ 2.计算过程的精确(数学)描述​ 实现错误->bug调试:bug的触发:需求->设计->代码->Fault(bug)->Error->Failure......
  • 2023年12月5日每日随笔
    今天,进行了大型数据库hadoop实验五的实验,没有完成,完不成,准备面向结果编程,然后,进行软件设计模式的复习,出乎意料,一会将创建型设计模式看完了,当然很简陋,具体看的化等画重点在具体看某几个,主要还是创建型设计模式很简单。类创建型:由类进行实例化简单工厂(静态方法模式):最为简单一......
  • 2023.12.5日报
    今天继续开发了ERP系统由于我做的是财务部分,分收入支出和工资管理三部分在收入部分我主要制作了对账功能,即,根据支票信息和收付款信息,通过多表联查的方式,显示出所有订单的支付情况这个在前两天已经进行了实现在支出部分,除了供应商的维护账单的管理,主要是做了报销的流程首先是......
  • java_JDBC连接池C3P0的使用
    1、数据库连接池基本介绍1.预先再缓冲池中放入一定数量的连接,当需要建立连接时,只需要从“缓冲池”中取出一个,使用完毕后放回。2.数据库连接池负责分配、管理和释放数据库连接,它允许多个程序重复的使用现有的数据库连接,而不是重新建立一个。3.当应用程序向连接池请求的数量超过最大......
  • 2023-12-05 闲话 收收手,写写字
    因为摆烂既不想做厂子笔试题,也不想学Rust,也不想做AGC了,那么随便写点东西记录一下之前的生活啊。今天是我们亲爱的杨卓凡同学的最后一天未成年生活了。提前祝他成年快乐,上个月我去白净的时候他问我要不要12-6去,但是我明天上午11点有一个面试,后天下午可能同时约了两个笔试,......
  • 2020年高考数学真题一题多解
    (2020理科数学20)已知\(A,B\)为椭圆\(E:\dfrac{x^2}{a^2}+y^2=1(a>1)\)的左右顶点,\(G\)为\(E\)上的上顶点,\(\overrightarrow{AG}\cdot\overrightarrow{GB}=8,P\)为直线\(x=6\)上的动点,\(PA\)与\(E\)的另一个交点为\(C\),\(PB\)与\(C\)的另一交点为\(D\).(1)求\(E\)的方程(2)......
  • 信息学奥赛一本通【1302】股票买卖
    信息学奥赛一本通13021302:股票买卖时间限制:1000ms内存限制:65536KB 【题目描述】最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。假设阿福已经准确预测出了某只股票在未来N天的价格,他希望买......
  • 20231205
    上午多在家里睡了一会儿,感觉精神好多了。来机房之后发现U盘丢了,怎么找也找不到,难过。没法把老婆歌姬装进U盘里了呜呜呜。上午做扫描线,然后看到好多人说扫描线要开\(8\)倍数组,都是些叶子结点调用push_up然后不特判的人。但是因为这个东西调了一上午。如果用动态开点......
  • NCTF2022-Crypto WP
    superecc题目fromCrypto.Util.numberimport*fromsecretsimportINF,flagassertflag[:5]==b'nctf{'classsuper_ecc:def__init__(self):self.a=73101304688827564515346974949973801514688319206271902046500036921488731301311......
  • java智慧校园源码,SaaS云平台,私有云部署
    什么是电子班牌?电子班牌用来显示班级信息,班级活动信息以及学校的通知信息。信息内容为文字、图片、视频、FLASH等,为学生和老师提供新颖的师生交流及校园服务平台。融合了多媒体信息发布、家校互通、物联控制、教务管理、日常办公等一系列应用,是校园管理的现代手段。学生刷卡考勤数......