2013-09-30 125 views
-1

我需要一個程序來讀取文本文件。文本文件:從文本文件讀取時遇到問題

S 3 
H 5 
L 5 
B 4 5 

S,H,L,和B各自是指具有一定形狀(正方形,三角形等),並在數字後是高度和寬度(如果適用)。例如,「S 3」指具有3的高度的平方:

* * * 
* * * 
* * * 

到目前爲止,我有這樣的:(我用INT「可變的」,以測試它)

File dataFile = new File("textfile.txt"); 

      Scanner in; 
      in = new Scanner (dataFile); 

      int variable = in.nextInt(); 
      System.out.println(variable); 

所以,因爲「S」是不是整數,我不能用

int variable = in.nextInt(); 

所以,我怎麼能有程序讀取它作爲一個字符串,並緊跟一個整數?

+3

看看另一個'Scanner'方法... –

+0

你可以把整個東西看成一個字符串,然後看看該字符串的單個字符。另外,你可以把它們看作'char'。 – nhgrif

回答

0

您可以使用in.next()讀取單個字符String,然後使用charAt(0)將其轉換爲char

0

一種方法,你可以做涉及String.split

的基本想法是,你在一行在使用in.nextLine()一次讀取,並使用split()" "爲您的分隔符。所以,像

String[] tokens = in.nextLine().split(" "); 

在您的示例輸入,這個想法是,如果第一行是"S 3",然後tokens將是一個String數組長度2元件"S""3"的。更一般地說,結果數組的第一個元素應該是你的字母,數組的其餘部分應該是高度和寬度參數,你可以解析自己以獲取必要的信息。

相關問題