0

こんにちは、私はオンラインのJavaクラスを受講しています。これらは私に与えられた指示です:

  1. 2 人家族の場合、男の子 2 人、女の子 2 人、男の子 1 人、女の子 1 人の 3 つの組み合わせの発生率を計算します。
  2. プログラムは、サンプル サイズ、すべての男の子、すべての女の子、および 1 人の男の子と 1 人の女の子の割合を出力する必要があります。

私が直面している問題は、たとえば、サンプル サイズが 5 家族で、G が 1 人の女の子で、B が 1 人の男の子で、これが例 グループ BG GB BB GG GB 男の子と女の子がいる 3 つの家族 2 人の女の子がいる 1 つの家族と 2 人の男の子がいる 1 つの家族があることを出力するにはどうすればよいですか? これまでのところ私が持っているコードは次のとおりです。

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);

    }
}
4

1 に答える 1

1

プログラムは最後のトークンのみを見ています。各トークンを取得した後、ループ内で if-else ブロックを実行し、ループ外で値を出力する必要があります。

さらに、token == BB は正しく機能しないため、使用しないでください。代わりに token.equals(BB) を試してください。

于 2013-10-21T20:07:39.740 に答える