第四节 与电脑交流

  现在我们我们的程序已经可以打印一些字符到屏幕了,但是我们并不满足,我们希望可以接受一些一些信息。并对我们发出的信息作出一些响应。本节就介绍和电脑交流的方法。
  由于我们目前所编写的软件是基于命令行的软件,所以与程序交流的方式只有两种,用键盘向程序输入指令,与程序将响应输出到屏幕。

程序将信息输出到屏幕

  系统带给我们一个很好用的对象用来将信息输出到屏幕,该对象就是Systen的out对象。我们可以使用该对象提供的System.out.println(String string)和System.out.print(String string)两个方法将一些信息输出到屏幕,它们的区别是println打印一行,既打印完后换行,而print则不换行。例如:

System.out.println("Hello Java!");
System.out.println("Hello World!");

System.out.print("Hello Java!");
System.out.print("Hello World!");

  这是得到的结果将是如下的结果:

Hello Java!
Hello World!
Hello Java!HelloWorld!

  out对象是提供标准输出的,除out对象外,系统还提供一个err对象,err对象也提供两个方法:System.err.print(String string)和System.err.println(String string)它们的区别与out对象的一样。err对象主要用来输出错误消息,在命令行中没有区别,在集成环境中,err输出的文字是红色的。用来表示发生错误。

程序从键盘接受消息

  当然除了打印消息外,系统也提供了程序接受消息的Systen.in对象,不过该对象使用比较难,我们使用它给我门的另外一个比较方便的对象。该对象时对System.in的包装。
  它的名字叫Scanner。Scanner是一个类(它的概念在后面介绍),Scanner的意思是,它是一个键盘扫描器,用来接收键盘输入。它的使用方式是,我们需要先获取一个对象。这部分无法理解的话,可到学习第二部分时再回来理解它。下面直接给出使用它的模板。

import java.util.Scanner;

public class HelloJava {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 这里写代码

        scanner.close();
    }
}

  新的模板中增加了两行,主要为了获取scanner,第一行在学习了包的概念后讲解,第四行也是新添加的一行,在学习第二部分是讲解。而scanner.close()则需要到流的讲解出才能解释。
  下面讲解怎么使用scanner来获取键盘输入。scanner提供了一个方法:scanner.nextLine(),通过使用这个方法,可以获取一次键盘输入。按enter结束。比如下面的程序:

import java.util.Scanner;

public class HelloJava {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 这里写代码
        String string = scanner.nextLine();
        System.out.println(string);
        scanner.close();
    }
}

  这个程序运行后将等待输入,输入想要输入的文字后enter,程序将输出刚才输入的内容。

~完~


  好的,有了和电脑交流之后,我们便可以写一个小游戏了。
  有一个故事,说一个人教鹦鹉讲话:

  跟我说:
  ——我是鹦鹉
  ——我是鹦鹉
  ——我会说话
  ——我会说话
  ——我会飞
  ——你吹牛
  ——呃

下面,我们就可以写这样的一个小程序:

import java.util.Scanner;

public class HelloJava {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 这里写代码
        String string = scanner.nextLine();
        System.out.println(string);
        String string2 = scanner.nextLine();
        System.out.println(string2);
        String string3 = scanner.nextLine();
        System.out.println("你吹牛!");
        scanner.close();
    }
}

results matching ""

    No results matching ""