如何从文件中获取信息并使用它来使布尔值为true或false?

时间:2013-10-21 20:04:44

标签: java

您好我正在上网Java课程,这些是给我的指示:

  1. 对于一个两口之家,计算出的百分比 三种组合:两个男孩,两个女孩,或一个男孩和一个女孩。
  2. 您的程序应打印样本大小,所有男生的百分比, 所有的女孩,还有一个男孩和一个女孩。
  3. 我遇到的问题是我无法弄清楚如何计算每个家庭中有多少个的值,例如,如果样本大小是5个家庭,其中G是一个女孩,B是一个男孩和这是示例组 BG GB BB GG GB 如何打印出有三个家庭有一个男孩和一个女孩一个家庭有两个女孩和一个家庭有两个男孩?这是我迄今为止的代码:

    import java.util.Scanner;
    import java.io.File;
    import java.io.IOException;
    public class family
    {
        public static void main(String[] args) throws IOException
        {
        String token = "";
        File fileName = new File("test1.txt");
        Scanner inFile = new Scanner(fileName);
        String BG =("BG");
        String GB =("GB");
        String BB =("BB");
        String GG =("GG");
        int sampleSize = 0;
        int twoBoys = 0;
        int oneBoyOneGirl = 0;
        int twoGirls = 0;
        while (inFile.hasNext())
        {
            token = inFile.next( );
            System.out.println(token);
        }
        inFile.close();
        if(token == BG)
        {
            oneBoyOneGirl++;
        }
        else if(token == GB)
        {
            oneBoyOneGirl++;
        }
        else if(token == BB)
        {
            twoBoys++;
        }
        else
        {
            twoGirls++;
        }
        System.out.println("Sample Size: "+ sampleSize);
        System.out.println("Two Boys: "+ twoBoys);
        System.out.println("One Boy One Girl: "+ oneBoyOneGirl);
        System.out.println("Two Girls: "+ twoGirls);
    
        }
    }
    

1 个答案:

答案 0 :(得分:1)

该程序只查看最后一个令牌。 if-else块应该在检索每个令牌后在循环内执行,然后打印出循环外的值。

此外,您不应使用token == BB,因为它无法正常工作。尝试使用token.equals(BB)。