我需要一个程序来读取文本文件。文本文件:
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();
那么,我怎样才能让程序将其作为字符串和紧随其后的整数读取?
答案 0 :(得分:0)
您可以采取的一种方法是String.split
:
基本想法是,您使用in.nextLine()
一次阅读一行,并使用split()
作为您的分隔符" "
。所以,像
String[] tokens = in.nextLine().split(" ");
在您的示例输入中,我们的想法是,如果第一行是"S 3"
,那么tokens
将是一个长度为2的String
数组,其元素为"S"
和{ {1}}。更一般地说,结果数组的第一个元素应该是你的字母,数组的其余部分应该是高度和宽度参数,你可以自己解析它们以获得必要的信息。
答案 1 :(得分:0)
您可以使用in.next()
阅读单个字符String
,然后使用char
将其转换为charAt(0)
。