您好我正在上网Java课程,这些是给我的指示:
我遇到的问题是我无法弄清楚如何计算每个家庭中有多少个的值,例如,如果样本大小是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);
}
}
答案 0 :(得分:1)
该程序只查看最后一个令牌。 if-else块应该在检索每个令牌后在循环内执行,然后打印出循环外的值。
此外,您不应使用token == BB,因为它无法正常工作。尝试使用token.equals(BB)。