java Scanner类

java Scanner类

next方法:

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        //从键盘接收数据
        Scanner SC = new Scanner(System.in);
        //next方式接收字符串
        System.out.println("接收:");
        //判断是否输入
        if (SC.hasNext()){
           String str= SC.next();
            System.out.println("键盘输入:"+str);
        }
        SC.close();
    }
}

nextLine方法:

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("nextLine方法输入");
        if (sc.hasNextLine()){
            String str=sc.nextLine();
            System.out.println("输入的数据为"+str);
        }
        sc.close();
    }
}

next与nextLine的区别

next():

  • 1、一定要读取到有效字符后才可以结束输入。
  • 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
  • 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • next() 不能得到带有空格的字符串。

nextLine():

  • 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  • 2、可以获得空白。

输入int或float类型的接收方法

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i=0;
        float f=0.0f;
        System.out.println("输入整数或小数:");
        if (sc.hasNextInt()){
            i= sc.nextInt();
            System.out.println("接收到的整数为:"+i);
        }else {
            System.out.println("输入的不是整数");
        }
        if (sc.hasNextFloat()){
            f=sc.nextFloat();
            System.out.println("接收到的小数为:"+f);
        }else {
            System.out.println("输入的不是小数");
        }
        sc.close();
    }
}

实例:输入多个数字并求其总和和平均数

import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        double d=0;
        int i=0;
        //输入一次循环一次输入非数字类型结束
        while (sc.hasNextDouble()){
            //计数器循环一次自增1
            i=i+1;
            double num= sc.nextDouble();
            System.out.println(i+"\t成绩:"+num);
            //循环累加和
            d=d+num;
        }
        System.out.println("总成绩为:"+d);
        System.out.println("平均成绩为:"+d/i);
        sc.close();
    }
}

练习:

import java.util.Scanner;

/*
* 计算平均数和总和
* */
public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入成绩:");
        int i =0;//计数器
        double num=0;//成绩
        //判断键盘输入的是否为double类型是的话则循环,不是则结束。
        while(sc.hasNextDouble()){
            i=i+1;
            double sum=sc.nextDouble();
            //每循环一次将sum获取到的数字加入num
            num=num+sum;
        }
        System.out.println("和为:"+num);
        System.out.println("平均数为:"+num/i);
    }
}
        num=num+sum;
    }
    System.out.println("和为:"+num);
    System.out.println("平均数为:"+num/i);
}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值