蝶の個体数に関するさまざまなデータを計算するプログラムを作成しようとしています。私の主な問題は、potentialPopulation
方程式のエラーを受け取り続けることです。ここで、値を2乗しratioFactor
ます。エラーは、私が二乗している値が「初期化されていない可能性がある」ということです。を値に設定する必要があることはわかってratioFactor
いますが、入力が入力されるまで値は不明です。また、私は初心者ですので、他にエラーがありましたら、よろしくお願いします。ありがとうございました
// This program calculates butterfly population estimates
// Inputs : males, estimated number of male butterflies
// females, estimated number of female butterflies
// Outputs : total butterflies, sex ratio, variance
// Written by: Charlie
// Modified: Oct 26, 2012 by Daniel Kellogg
//
import java.util.Scanner;
import java.text.DecimalFormat;
public class Hwk7 {
public static void main (String[] args) {
int males, females;
int totalButterflies, sexRatio, ratioVariance, genderDifferences, matingPairs, growthFactor, ratioFactor, potentialPopulation, x;
Scanner stdin = new Scanner(System.in);
System.out.println("\nButterfly Estimator\n");
System.out.print("Enter the estimated males population: ");
males = stdin.nextInt();
System.out.print("Enter the estimated females population: ");
females = stdin.nextInt();
totalButterflies = males + females;
sexRatio = males / females;
ratioVariance = males % females;
genderDifferences = males - females;
matingPairs = males * females;
growthFactor = (int)(Math.sqrt(matingPairs));
if (sexRatio != 0){
ratioFactor = growthFactor / sexRatio;
if (sexRatio == 0){
ratioFactor = (int)(Math.sqrt(ratioVariance));
}
ratioFactor = x;
potentialPopulation = x^2;
System.out.println("\nTotal Butterflies: " + totalButterflies );
System.out.println("Sex Ratio : " + sexRatio );
System.out.println("Variance : " + ratioVariance );
System.out.println("Gender Differences: " + genderDifferences );
System.out.println("Possible Mating Pairs: " + matingPairs );
DecimalFormat oneDigit = new DecimalFormat("#.000");
System.out.println("Growth Factor: " + growthFactor + oneDigit.format(growthFactor));
DecimalFormat twoDigit = new DecimalFormat("#.0");
System.out.println("Ratio Factor: " + ratioFactor + twoDigit.format(ratioFactor));
DecimalFormat threeDigit = new DecimalFormat("##0");
System.out.println("Potential Population: " + potentialPopulation + threeDigit.format(potentialPopulation));
}
}