我正在开发一个程序,我需要从包含分数的外部文件创建一个对象列表。我需要将分子和分母分成两个单独的整数,而不涉及“/”。
这是我到目前为止所做的:
while (fractionFile.hasNextLine()){
num.add(fractionFile.nextInt());
den.add(fractionFile.nextInt());
}
我无法弄清楚如何在“/”之前读取num.add,并在“/”之后读取den.add
非常感谢任何帮助。
答案 0 :(得分:3)
String fraction="1/2";
String []part=fraction.split("/");
num.add(part[0])
den.add(part[1])
答案 1 :(得分:1)
答案 2 :(得分:0)
while (fractionFile.hasNextLine()){
//If file contains
// 1/2
// 2/4
// 5/6
String line = fractionFile.nextLine();
String split[]=line.split("/");
num.add(Integer.parseInt(split[0])); // 1 stored in num
den.add(Integer.parseInt(split[1])); // 2 stored in den
}
答案 3 :(得分:0)
假设你的文件中有多个分数由一个标记分隔(例如行刹车或;
):
String input = "1/2;3/4;5/6";
String token = ";"
String[] currentFraction = null;
final List<Integer> nums = new LinkedList<>();
final List<Integer> denoms = new LinkedList<>();
for (String s : input.split(token)) {
currentFraction = s.split("/");
if (currentFraction.length != 2)
continue;
nums.add(Integer.parseInt(currentFraction[0]));
denoms.add(Integer.parseInt(currentFraction[1]));
}
答案 4 :(得分:0)
BufferedReader br = null;
Integer num = 0;
Integer den = 0;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("test"));
while ((sCurrentLine = br.readLine()) != null) {
String [] str = sCurrentLine.split("/");
if(str.length>2)throw new IllegalArgumentException("Not valid fraction...");
num = num+Integer.parseInt(str[0]);
den = den+Integer.parseInt(str[1]);
}
System.out.println(num);
System.out.println(den);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}