-2

私はJavaが初めてで、現在学期(CS Major)の最終プロジェクトに取り組んでおり、「変数が初期化されていない可能性があります」というエラーが発生しています。サイトで他の修正を試みましたが、それを行うたびに、作成したループで定義された変数ではなく、初期化された変数が使用されます。

public static void main(String[] args) {
    double priceperpound       = 2;    // price per pound of coffee
    int numberofbags           = 2;    // number of pounds of coffee
    double bagweightinpounds   = 1;    // weight of the bag in punds
//  double pricebeforetaxes    = 8;    // total before taxes
//  double totalpricewithtaxes = 0;    // total price
    double taxrate             = .065; // whats the tax?
    double TotalWeight         = 0;    // total weight of purchase
//  double discountprice       = 0;    // discounted price
//  double discount            = .9;   // if you qualify the price before taxes will be     multiplied by this
    int row;
    int col;

    PriceCalculator calculations = new PriceCalculator(priceperpound, numberofbags,
            bagweightinpounds, taxrate);

    for (bagweightinpounds = 1; bagweightinpounds <= 5; bagweightinpounds = bagweightinpounds + 1) {

        for (numberofbags = 2; numberofbags <= 1024; numberofbags = numberofbags * 2) 
        {
            System.out.printf("%f", calculations.getBasePrice());
        }
    }
    Scanner input = new Scanner(System.in);
}
4

2 に答える 2

0

変数を宣言し、デフォルト値を指定しない場合 (たとえば):

int row;

その値を式で使用しようとすると、次のようになります。

row = row + 1;

その後、コンパイラはエラーをスローします。エラーのある行を見つけて、変数を分析します。

更新: ループで初期化される唯一の変数は、forループ内の最初のステートメントにあります (vgfor(int i = 0; i < 5; i++)は変数を初期化しiます)。

于 2012-12-16T16:10:27.513 に答える
0

こんな感じです.........

  • Java では、Class スコープ (インスタンス変数) で変数を宣言すると、デフォルト値が自動的に割り当てられます。

  • ただし、メソッド スコープ (ローカル変数) で変数を宣言する場合は、使用する前に初期化する必要があります。

したがって、あなたの場合は次のようにします。

int 行 =0;

int 列 = 0;

私のコードのフォーマットを許してください、私はモバイルにいます........

于 2012-12-16T16:33:44.337 に答える