[Java] 输入输出方法+猜数字游戏

目录

1. 输入输出方法

1.1 输入方法

1.2 输出方法

2. 猜数字游戏


1. 输入输出方法

Java中输入和输出是属于Scanner类里面的方法,如果要使用这两种方法需要引用Scanner类。

import java.util.Scanner;

java.util 是Java里面的一个包,里面包含一些工具还有其他内容,Scanner是包里面的工具类。 

1.1 输入方法

        下面是用Scanner类定义的一个名为sc的实例对象,System.in是从键盘上读取输入的内容,new Scanner相当于一个扫描器,将读取的内容扫描一遍,Scanner类作用是解析数据类型和字符串,将扫描到的内容存到缓冲区。

Scanner sc = new Scanner(System.in);

接下来要根据键盘输入的数据类型来调用相应的方法。

输入整型:

调用了Scanner里面的nextInt();方法,将缓冲区的整型读取出来,存储到整型变量a里面。

int a = sc.nextInt();

byte b = sc.nextByte();

short c = sc.nextShort();

long d = sc.nextLong();

 输入浮点型:

float a = sc.nextFloat();

double b = sc.nextDouble();

输入布尔类型:

boolean a = sc.nextBoolean();

输入字符串:

//第一种
String a = sc.next();

//第二种
String b = sc.nextLine();

第一种用的.next方法,当它在读取字符串时候遇到空格会停止读取空格后面的,

第二种用的.nextLine方法,它会读取一行的内容,空格也会读取。

例如:

输入ab  cde,第一种读取到的是:ab ,第二种读取到的是:ab  cde 。

还有一种情况需要注意:

        Scanner sc = new Sacnner(System.in);
        //读取整型
        int a = sc.nextInt();
        System.out.println(a);

        //清空缓存区
        sc.nextLine();

        //读取字符串
        String b = sc.nextLine();
        System.out.println(b);

上述代码在你第一次输入一个数字50后按下回车,此时缓存区里面有50和回车,第一次读取整型只会读走50,余下回车,如果不清空缓存区,会导致你还未用键盘输入字符串,系统直接从缓存区读取回车字符,并输出,结束程序,所以需要清空缓存区。

1.2 输出方法

在Java中有三种输出方式:

//输出并换行
System.out.println();

//输出不换行
System.out.print();

//输出不换行
System.out.printf();       
        

第一种print直接输出不换行,

第二种println输出后并换行,

第三种printf跟C语言的输出差不多,用占位符对应数据类型来输出。

int a =10;
System.out.printf("%d",a);

输出就是:10

2. 猜数字游戏

首先需要生成一个随机数,这里用到Java里面的一个类random,里面的方法nextInt();生成一个伪随机数。

伪随机数是自一个名为“种子”的值的基础上根据一些规则计算得到的值,“种子”不变生成的随机数不变,所以生成的是伪随机数。

import java.util.Random;
public class test{
    public static void main(String[] args){
        Random ran = new Random();//括号里面参数是种子的值,如果为空,默认值为系统时间
        int a = ran.nextInt(100);//生成伪随机数范围[0,100);
    }
}

上面先引用util包里面的Random类,再设置种子的值,默认值为系统时间,在不断变化,下面用Random类里面的nextInt(a)方法,生成范围为[0,a)的随机值。

游戏代码如下:

public class test {
    public static void main(String[] args) {
        //猜数字游戏
        Scanner sc = new Scanner(System.in);
        Random ran = new Random();//种子是系统时间
        int b = ran.nextInt(100);//生成伪随机数范围[0,100);
        while(true){
            System.out.println("请输入你要猜的数字:");
            int a = sc.nextInt();
            if(a > b){
                System.out.println("猜大了");
            }else if(a < b){
                System.out.println("猜小了");
            }else{
                System.out.println("猜对了");
                break;
            }
        }    
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值