正文

1.5 情景應(yīng)用——拓展與實踐(2)

學(xué)通Java的24堂課 作者:李鐘尉


你問我答:代碼中的Date是什么意思?

U 實例運行結(jié)果將輸出當(dāng)前日期與時間。實例中使用了日期類型的變量,時間是Java中Date類的實例對象,知識相對復(fù)雜一些,但是這里將給讀者介紹如何創(chuàng)建一個時間對象,并獲取它的日期字符串。創(chuàng)建日期對象的關(guān)鍵代碼如下:

Date date = new Date();  // 創(chuàng)建日期對象

String str = date.toLocaleString();  // 獲取日期的字符串格式 

代碼中變量str保存的就是有日期對象的toLocaleString()方法返回的日期字符串。在實現(xiàn)這個步驟之前,必須在源代碼文件的頂端執(zhí)行import java.util.Date語句導(dǎo)入這個類。

DIY:嘗試輸出帶有日期時間的文字信息“我在北京時間:XXXX完成了第一堂課的學(xué)習(xí)”,XXXX代表程序運行時的時間。(25分)(實例位置:光盤\mr\ym\1.04\diy)

1.5.3  情景應(yīng)用3——在控制臺接收用戶輸入數(shù)字

 視頻講解:光盤\mr\lx\01\在控制臺接收用戶輸入數(shù)字.exe

 實例位置:光盤\mr\ym\1.05\src

System類除了out和err兩個輸出流之外,還有in輸入流的實例對象作為類成員,它可以接收用戶的輸入。下面通過這個輸入流從控制臺接收用戶輸入的數(shù)字與字符串,實例運行結(jié)果如圖1.39所示,實現(xiàn)過程如下。

創(chuàng)建Receiveinput類,在該類的主方法中創(chuàng)建Scanner掃描器來封裝System類的in輸入流,然后提示用戶輸入姓名、年齡和身高信息,并輸出由這些信息組成的說明信息,實例代碼如下:

import java.util.Scanner;

public class ReceiveInput {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);  // 創(chuàng)建輸入掃描器

        System.out.println("請輸入你的姓名:");

        String name = scan.nextLine();  // 獲取一行文本

        System.out.println("請輸入你的年齡:");

        int age = scan.nextInt();  // 獲取整數(shù)輸入

        System.out.println("請輸入你的身高:");

        double stature = scan.nextDouble(); // 獲取double類型輸入

        System.out.println("數(shù)據(jù)接收完畢。。。。。");

        System.out.println(age + "歲的" + name + "在昨天晚上掉進(jìn)了小區(qū)附近的河溝里,\n" + "身高"

                + stature + "米的他,估計也無法承受住這次感冒的困擾");

    }

}

? 你問我答:代碼中的Scanner是什么意思?

U 程序中用到了System類的輸入流也即類變量in,它可以接收用戶的輸入信息,并且是標(biāo)準(zhǔn)的輸入流實例對象。另外Scanner類是Java的掃描器類,它可以從輸入流中讀取指定類型的數(shù)據(jù)或字符串。本實例使用Scanner類封裝了輸入流對象,并使用nextLine()、nextInt()、nextDouble()方法從輸入流中獲取用戶輸入的整行文本字符串、整數(shù)數(shù)據(jù)和double類型數(shù)據(jù)。

& 說明:在使用Scanner類時,必須在源代碼頂端導(dǎo)入這個類,導(dǎo)入語句為import java.util.Scanner;

DIY:把用戶輸入文本與當(dāng)前日期連接為字符串輸出。(25分)(實例位置:光盤\mr\ym\1.05\diy)

 


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號