Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取txt文件中的分数_Java_Split_Readfile - Fatal编程技术网

Java 读取txt文件中的分数

Java 读取txt文件中的分数,java,split,readfile,Java,Split,Readfile,我一直在互联网上寻找帮助,但我找不到,所以我求助于发帖 我有一个txt文件,格式如下 1/2 0 1/6 2010年6月11日1月6日2月10日 我需要读取这些单独的分数,并将分子和分母输入到一个名为BigFraction(num,denom)的函数中 我调用读取器并将其作为字符串输出。 然后我将空格分开,以得到作为字符串的各个分数 将它们输入到我的助手方法strToBF中, 它在正斜杠上拆分并输入分子和分母 但它不起作用,任何帮助都将不胜感激 我的主要方法 String

我一直在互联网上寻找帮助,但我找不到,所以我求助于发帖

我有一个txt文件,格式如下

1/2 0 1/6 2010年6月11日1月6日2月10日

我需要读取这些单独的分数,并将分子和分母输入到一个名为BigFraction(num,denom)的函数中

我调用读取器并将其作为字符串输出。 然后我将空格分开,以得到作为字符串的各个分数 将它们输入到我的助手方法strToBF中, 它在正斜杠上拆分并输入分子和分母

但它不起作用,任何帮助都将不胜感激

我的主要方法

            String file = fileToString(fileName);
    file.replaceAll("(.*)\\/(.*)", "a");
    String[] splitFile = file.split(" ");

    BigFraction conditionA = stringToBF(splitFile[0]);
    BigFraction c1A = stringToBF(splitFile[1]);
    BigFraction c2A = stringToBF(splitFile[2]);
    ConditionalTwoCoinChannel CTCCA = new ConditionalTwoCoinChannel(conditionA, new TwoCoinChannel(c1A, c2A));

    BigFraction conditionB = stringToBF(splitFile[3]);
    BigFraction c1B = stringToBF(splitFile[4]);
    BigFraction c2B = stringToBF(splitFile[5]);
    ConditionalTwoCoinChannel CTCCB = new ConditionalTwoCoinChannel(conditionB, new TwoCoinChannel(c1B, c2B));

    List<ConditionalTwoCoinChannel> outputList = new ArrayList<ConditionalTwoCoinChannel>();

    outputList.add(CTCCA);
    outputList.add(CTCCB);

    return outputList;
这个

无法拆分“1/2”

试一试


你能提供类的完整代码以便进行调试吗?我如何上传所有的类?完整的代码我可以做,但有9个类文件我已经改变了它,它仍然给我一个带有“1/2”的NumberFormatException。我还删除了replaceall函数,因此它应该在/I think its here stroint(str)上尝试拆分,try if(str.equals(“0”))返回bigfrance.ZERO;相反,叶甫盖尼·多洛菲夫,你和我的生活一样。多谢各位
private static String fileToString(String file)
        throws FileNotFoundException, IOException {

        BufferedReader fileReader = new BufferedReader(new FileReader(file));
        StringBuilder sBuilder = new StringBuilder();
        String fileLine = fileReader.readLine();

        try {
            while (fileLine != null) {
                sBuilder.append(fileLine);
                sBuilder.append(" ");
                fileLine = fileReader.readLine();
            }
        } catch (FileNotFoundException e1) {
            throw new RuntimeException("file not found");
        } catch (IOException e2) {
            throw new RuntimeException("Input Error");
        }
        finally {
            fileReader.close();
        }


        return sBuilder.toString();




private static BigFraction stringToBF(String str){

            if (strToInt(str) == 0) {
                return BigFraction.ZERO;
            }
            else {
                String[] strSplit = str.split("(.*)a(.*)");
                int numerator = strToInt(strSplit[0]);
                int denominator = strToInt(strSplit[1]);
                return new BigFraction(numerator, denominator);             
            }
        }
String[] strSplit = str.split("(.*)a(.*)");
String[] strSplit = str.split("/");