输入与输出

输入与输出

本质:方法的调用

(1)输出

System.out.println(msg);

 // 输出一个字符串, 带换行,只跟一个参数 

System.out.print(msg);

 // 输出一个字符串, 不带换行 ,只打印不换行,只跟一个参数

System.out.printf(format, msg);

 // 格式化输出,保证第一个参数是格式,可有多个参数。默认不带换行,要加\n

System.out.printf("%d %f %s %s %c \n", 1L,1.0,"Hello",true,'c');

     (/ 斜杠,\ 反斜杠 转义符(escape), \n 换行,\r 回车, \t 制表符)

(2)从键盘输入

      使用Scanner读取字符串、整数、浮点数

Scanner scanner = new Scanner(System.in);

        while (scanner.hasNextLine()){
            String line = scanner.nextLine();    //nextLine以行为单位
            System.out.println(line);
        }
//  结果  扫描器
//        扫描器
//        第四节
//        第四节
//        逻辑控制
//        逻辑控制
//        ^D

//        Hello World 你好 世界
//        Hello World 你好 世界
//        ^D


        while (true) {               // ctrl + d/z 结束
            boolean b = scanner.hasNextLine();
            if (!b) {
                break;
            }
            String line = scanner.nextLine();
            System.out.println(line);
        }
        System.out.println("结束");
//  结果  扫描器
//        扫描器
//        第四节
//        第四节
//        逻辑控制
//        逻辑控制
//        ^D



        while (scanner.hasNextLine()){
            String next = scanner.next();   //next默认取下一个单词,以空格区分的单词
            System.out.println(next);     //以空格分割的单词为单位
        }
//  结果  Hello World 你好 世界
//        Hello
//        World
//        你好
//        世界



        while (scanner.hasNextBigInteger()){
            int i = scanner.nextInt();     // nextInt 以空格分割的单词为单位,但转成整型
            System.out.println(i);
        }
// 结果   1 2 3 4
//        1
//        2
//        3
//        4
//        hello  此时的hello不是数字,不在语法范围内,自动当没有数字执行,即没有下一行

练习:猜数字游戏

 分析: A、生成一个[1-100]的随机数,toGuess

             B、读取用户输入的一个数字,记为inPut

             C、inPut  <  toGuess ,提示用户猜小了

                   inPut  >  toGuess ,提示用户猜大了

                   inPut  =  toGuess ,提示用户猜对了

             D、最多猜三次

Random random = new Random(2011);    //此时随机种子是固定的,方便测试
int ToGuess =  random.nextInt(100) + 1;   //当只有100时求的是[0-99],所以后面需要 + 1
Scanner scanner = new Scanner(System.in);

int maxCount = 3;  //最多只能猜3次
int count= 0;

while (true) {
    if (count >= maxCount){
        System.out.println("超过次数");
        break;
    }
    count++;

        //一定先看用户有没有输入(hasNextInt)
        //然后才能在用户有输入的情况下取输入(nextInt)
    boolean 用户没按ctrlD = scanner.hasNextInt();
    if (! 用户没按ctrlD ) {                  //判断用户到底有没有输入内容
        System.out.println("用户不玩了");
        break;
    }

    int input = scanner.nextInt();
    if (input < ToGuess) {
        System.out.println("猜小了");
    } else if (input > ToGuess) {
        System.out.println("猜大了");
    } else {
        System.out.println("猜对了");
        break;
    }
}
// 结果   67
//        小了
//        76
//        小了
//        98
//        小了
//        超过次数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值