私は Java プログラミングの学習方法を開始しましたが、割り当てを行っているときに問題が発生しました: ps これは ac プログラミング割り当てであり、それを使用して Java プログラミングを行います:
床の寸法が長さ len と幅 wid の (潜在的に大きな商業用の) 部屋を考えてみましょう。床の面積は、len に wid を掛けて得られます。
カーペット タイルは、個々の正方形 (2 フィート x 2 フィート) として提供されます。C プログラム、carpet.c を書き、コンパイルし、実行します。
-端末から入力された寸法 (len と wid) の部屋を覆うために必要なカーペット タイルの最小数を計算します (測定値はインチ単位です)。注意: 床タイルは部屋の端に合わせてカットできます。無駄を最小限に抑えてください。
-必要なカーペット タイル パックの数を計算します。サプライヤは、10 個入りパックのカーペット タイルのみを提供します (つまり、個々のタイルを個別に購入することはできません)。
- パックの最小数が購入された後、残っているスペア タイルの数を計算します。
-これらすべての結果を、注文の合計費用とともにきちんとした表に出力します。(タイルのパックは、最初の 4 つのパックごとに 50 ドルかかり、その後のパックごとに価格が 45 ドルに下がります。)
プログラムをどのようにテストするかを慎重に検討してください。計算は自明ではなく、間違いやすいです。あなたのプログラムが動かなければ、あなたは会社に多額のお金を浪費し、ソフトウェアを供給する契約を失うことになるでしょう。
発生する可能性のあるさまざまな可能性をすべてカバーする多数のテスト ケースを (手動で) 書き出す必要があります。さまざまな境界ケースも考慮することを忘れないでください。これらは、多くの場合、エラーが検出される場所です。
これまでのところ、私はやっています:
import java.util.Scanner;
public class carpet {
public static void main (String args[]){
Scanner scanf = new Scanner (System.in);
float len, wid;
float area;
int roundTiles;
int roundPacks;
float tarea;
float tpack;
float NoOfTiles;
float NoOfPacks;
float tspares1;
float tspares2;
int packCost;
int cost;
tarea= 12* 12;
tpack= 10;
System.out.format("Enter the length of the room, Inches: ");
len = scanf.nextFloat();
System.out.format("Enter the width of the room, Inches: ");
wid = scanf.nextFloat();
area = len * wid;
NoOfTiles = area/ tarea;
NoOfPacks = NoOfTiles/tpack;
roundTiles = (int) Math.ceil(NoOfTiles);
roundPacks = (int) Math.ceil(NoOfPacks);
tspares1 = roundPacks * 10;
tspares2 = tspares1 - roundTiles;
if (roundPacks <= 4)
packCost =50;
else if(roundPacks > 4)
{
packCost = 45;
packCost = packCost + 20; *<<-----******LINE 50-----*********
}
cost =roundPacks * packCost; *<<*******---ERROR-------------*********
System.out.println(cost);
}
}
エラーは次のとおりです: 「ローカル変数 packCost が初期化されていない可能性があります」
そして、コンパイラは次のように述べています: 「スレッド "main" java.lang.Error での例外: 未解決のコンパイルの問題: ローカル変数 packCost は、carpet.main(carpet.java:50) で初期化されていない可能性があります」