Skip to content

Latest commit

History

History
97 lines (69 loc) · 2.71 KB

File metadata and controls

97 lines (69 loc) · 2.71 KB

螢幕輸出及鍵盤輸入

螢幕輸出有幾種方式。第一種是前面章節已經使用過的 System.out.printSystem.out.println。這兩種方法的的差別是前者沒有換行,而後者有換行。如果有數個資料需要一起印出時,則可以使用 + 進行串接。例如:

publicclassShow {
publicstaticvoidmain(Stringargv[]) {
intdesign, acting;
design = 3;
acting = 5;
System.out.println("Design is " + design +
"and acting is " + acting);
}
}

第二種方式是在 Java SE 5 之後才支援[1]。這個方式與 C 語言的 printf 功能類似。例如:

System.out.printf("Today is %s, %d.\n", "January", 18);
// %s 的位置替換成 January 這個 String// %d 的位置替換成 18 這個整數// \n 表示換行符號

顯示:

Today is January, 18

例如:

doublescore = 92.345System.out.printf("My score is %.2f.\n", score);
// %.2f 的意義是小數點以下取兩位,並四捨五入。System.out.printf("My score is %6.2f.%n", score);
// %6.2f 的意義是:包括小數點共6位,小數點以下取兩位,// 並四捨五入。所以9的左邊多空一格。

顯示:

My score is 92.35.
My score is 92.35.

鍵盤輸入則可以透過[2]。例如:

// 使用時先載入 Scanner 所屬的 packageimportjava.util.*; // * 的意義是 java.util 內所有的類別// 定義物件:Scannerscanner = newScanner(System.in);
// 輸入字串:Stringname = scanner.nextLine();
// 輸入整數:intscore = scanner.nextInt();
// 輸入doubledoubleheight = scanner.nextDouble();
// 輸入floatfloatweight = scanner.nextFloat();

以下是一個完整的範例:

importjava.util.*;
publicclassEnglishExam {
publicstaticvoidmain(Stringargv[]) {
intvocab, grammar, listen, score;
Scannerscanner = newScanner(System.in);
Stringname = scanner.nextLine();
vocab = scanner.nextInt();
grammar = scanner.nextInt();
listen = scanner.nextInt();
score = vocab + grammar + listen;
System.out.printf("The total score of %s is %d.%n",
name, score);
}
}
[1]System.out.printf(), http://www.java2s.com/Code/JavaAPI/java.lang/System.out.printf.htm
[2]java.util.Scanner, http://www.java2s.com/Code/JavaAPI/java.util/Scanner.htm