流程控制 Scanner

1.包机制

描述:

为了更好的组织类,java提供了包机制,用于区别类名的命名空间。

格式:

 package  pkg1[. pkg2 [. pkg3...]];

一般利用公司域名倒置作为包名;例:com.baidu.www

导入包:

import com.hl.operator
​
import com.hl.*;

2.用户交互 Scanner

  • 基本语法:

Scanner scanner = new Scanner(System.in);

  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在这之前,先用hasNext()与hasNextLine()方法判断是否有输入的数据。

import java.util.Scanner;
​
public class Dome01 {
    public static void main(String[] args) {
​
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
​
        System.out.println("使用next()方式接收:");
​
        //判断用户是否输入字符串
        if (scanner.hasNext()){
            String str = scanner.next();
            System.out.println("输出的内容为:" + str);
        }
​
        //关闭资源
        scanner.close();
    }
}

  • 总结:

    • next()

      1.一定要读取到有效字符才可以结束输入。

      2.对输入有效字符之前遇到的空白,next()会自动去除。

      3.只对输入有效字符后才将其后面输入的空白作为分隔符或结束符。

      4.next()不能得到带有空格的字符串。

    • nextLine()

      1.以Enter为结束符,返回输入回车前所有的字符。

      2.可以获取空白。

  • 扩展

import java.util.Scanner;
​
public class Dome03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
​
        int i;
        float f;
​
        System.out.println("请输入您整数或小数;");
​
        if (scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("您输入的是整数:" + i);
        }else if(scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("您输入的是小数:" + f);
        }else {
            System.out.println("您输入有误!");
        }
​
        scanner.close();
    }
}

  • 需求:输入多个数字,并求其总和与平均数值,每输入一个数用回车确认,通过输入非数字来结束并输出结果。

import java.util.Scanner;
​
public class Dome04 {
    public static void main(String[] args) {
        System.out.println("请输入:");
        Scanner scanner = new Scanner(System.in);
​
        //输入次数
        int i = 0;
        //总和
        double sum = 0;
​
        while (scanner.hasNextDouble()){
            Double num = scanner.nextDouble();
            i++;
            sum += num;
        }
​
        System.out.println(i + "个数字的和为:" + sum +",平均值为:" + sum/i);
​
        scanner.close();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值