System.in键盘输入——我的第一个博客

    技术2022-07-11  81

    Scanner input = new Scanner(System.in)输入流类

    在目前的学习过程中用于让操作台提供数据供方法处理。以这样一个问题为例:如何在不借用中间变量的前提下,完成两个数的互换?

    public static void main(String[] args) { // TODO Auto-generated method stub int a,b; //定义变量 Scanner input1=new Scanner(System.in);//操作台输入信息 System.out.println("请输入数字a"); System.out.println("请输入数字b"); //提示 a=input1.nextInt(); b=input1.nextInt(); int c = input1.nextInt(); int d = input1.nextInt(); //把数字传递给a,b a=a+b; b=a-b; a=a-b; System.out.println(a); System.out.println(b); }

    总体思路就是说,先把a作为和,b用和减去b变成a,最后再由和减掉现在的a变成b,完成调换。

    这里面我作为新手犯了一个问题,

    Scanner input1=new Scanner(System.in); Scanner input2=new Scanner(System.in); System.out.println("请输入数字a"); System.out.println("请输入数字b"); a=input1.nextInt(); b=input2.nextInt();

    我在调用这个方法的时候,想着应该调用两次,分别赋值,但是其实是多余的,因为你只需要写一遍这个函数,然后后续用.nextInt();等方法调用就行了。

    关于Scanner类的其他方法:

    1.next()只有接收到有效字符才能停,到下一个空白处停止,也就是说不能显示含有空格的字符串。 2.nextline()方法返回的是输入回车之前的所有字符,也就是说包含空格在内的所有字符均会被返回。 3.next"数据类型"()方法,就直接返回对应的数据类型,推荐用hasNextInt先检测有没有对应的数据类型。(我们初学者暂时不用,因为数据类型大家自己都知道),然后再读取。 4.BigInteger和BigDecimal这两个方法暂时我了解不多,就不在这误人子弟了。

    这是我准备做程序员所写的第一个博客,希望各位在成长路上的人结伴同行,祝我们前程似锦,财源广进。

    Processed: 0.012, SQL: 9