-1

我需要一个程序来读取文本文件。文本文件:

S 3
H 5
L 5
B 4 5

S、H、L 和 B 分别表示某种形状(正方形、三角形等),其后的数字是高度和宽度(如果适用)。例如,“S 3”表示高度为 3 的正方形:

* * * 
* * * 
* * * 

到目前为止,我有这个:

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

            Scanner in;
            in = new Scanner (dataFile);

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

(我用int“变量”来测试它。)所以,因为“S”不是整数,我不能用

int variable = in.nextInt();

那么,如何让程序将其读取为字符串和紧随其后的整数?

4

2 回答 2

0

您可以采取的一种方法包括String.split

基本思想是您一次阅读一行in.nextLine(),并使用split()with" "作为分隔符。所以,像

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

在您的示例输入中,想法是,如果第一行是"S 3",那么tokens将是一个String长度为 2 的数组,其中包含元素"S""3"。更一般地说,结果数组的第一个元素应该是你的字母,数组的其余部分应该是高度和宽度参数,你可以自己解析以获得必要的信息。

于 2013-09-30T23:20:42.207 回答
0

您可以使用in.next()读取单个字符String,然后char使用将其转换为 a charAt(0)

于 2013-09-30T23:25:34.813 回答