將 number.txt 內每一行的各值加總後輸出
執行方法 sum.class < number.txt
===== number.txt 內容=====
1 2 3 4 5
6 7 8 9 10
11 21 33 44 55
========================
=====想要的輸出結果(螢幕輸出)=====
15
40
164
=================================
那 sum 這個Java程式該如何撰寫(jdk1.5)??
ps 主要是不懂如何抓取 \"<\" 重新導向輸入的值
2006-05-05 06:25:43 · 3 個解答 · 發問者 BMW 1 in 電腦與網際網路 ➔ 程式設計
import java.util.Scanner;
public class sum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()) {
int a1 = scanner.nextInt();
int a2 = scanner.nextInt();
int a3 = scanner.nextInt();
int a4 = scanner.nextInt();
int a5 = scanner.nextInt();
System.out.println(a1+ a2 + a3 + a4+a5);
}
}
}
上面的 code Compile 成 sum.class 後執行
java sum < number.txt
應該就是您要的結果!!
要詳細的語法指令可以查詢 API 說明文件的 java.util.Scanner Class
2006-05-07 18:18:55 · answer #1 · answered by 伊爾文司 2 · 0⤊ 0⤋
ifway 的解法是從命令列讀入數字,可是題目中是要從檔案中讀取。應該文不對題吧...
2006-05-08 06:14:31 · answer #2 · answered by ? 7 · 0⤊ 0⤋
首先你先要輸入你的number.txt 由於字數有限 這邊省略(用BufferedeReader即可)
這邊我使用的是StringTokenizer的方法
try
{
String line;
line = FileInputStream.readLine(); 從 number.txt 讀入第一行
while(line != null) // 當line裡面還有檔案時 就會繼續
{
StringTokenizer data = new StringTokenizer(line);
// 把剛讀入的那行tokenizer化
while(data.hasMoreTokens()) // 當還有token時 繼續迴圈
{
int x = Integer.parseInt(data.nextToken());
// 把 String 變成 int
total += x;
// 加到總合
}
System.out.println(total); // 輸出這一行總合
total = 0; //總合歸0
line = inputStream.readLine(); //讀下一行
}
}
catch(IOException e) //輸入輸出問題
{
System.out.println(" 輸入你要的警告訊息");
}
catch(FileNotFoundException e) //找不到檔案
{
System.out.println(" 輸入你要的警告訊息");
}
// 上面差不多是95%完成了 不知道是不是你要的.
// 由於是直接手打的 所以沒有complie過 自己試一下
// 記得先宣告 int total = 0; FileInputStream只是個reference變數 可以自己改名
// 希望有幫到你
2006-05-06 11:33:57 · answer #3 · answered by 安迪豬 6 · 0⤊ 0⤋