小数点以下の数字は表示できません。 2次元の配列それは可能ですか?私はJavaで配列を持ついくつかのアイテムの価格と数量を表示しようとしていますが、小数点を含む数字を表示させることはできません
import java.util.ArrayList;
public interface VendingMachineDriver
{
public static void main(String[] args)
{
double [][] itemPQ =
{
{1.25, 20}, //Lays Chips
{1.25, 20}, //Sun Chips
{1.25, 15}, //Cheetos Chips
{1.25, 15}, //Fritos Chips
{1.25, 20}, //Doritos Chips
{1.75, 16}, //Popcorn
{1.75, 20}, //Ruffles
{1.75, 14}, //Cookie
{1.50, 9}, //Reese's
{1.50, 15}, //KitKat
{1.50, 20}, //Snickers
{1.50, 20}, //m&m's
{2.00, 20}, //Donuts
{2.00, 20}, //Pretzels
{2.00, 10}, //Cheez-it
{2.00, 15} //Chex Mix
};
String[] itemNumbers = {"A1", "A2", "A3", "A4", "B1", "B2", "B3", "B4", "C1", "C2", "C3", "C4", "D1", "D2", "D3", "D4"};
String[] itemDisplay = {"Price", "Quantity"};
VendingItem vi = new VendingItem(itemPQ, itemNumbers, itemDisplay);
vi.displayItem();
}
}
これはメソッドを持つ2番目のクラスです。 itemPQをintにしたときに配列が表示されますが、二重にすると作業が停止するようです。
配列がitemPQ
あり、そしてあなたは、印刷しようとしている数が
itemPQ[x][y]
であり、彼の最善の方法は、このコードを使用して
Double.toString(itemPQ[x][y])
を使用するか、明示的なキャストを作る
String output = (String) itemPQ[x][y]
System.out.print(output);
のどちらかであると仮定すると
import java.util.Scanner;
public class VendingItem
{
private double[][] itemPQ;
private String[] itemNumbers;
private String[] itemDisplay;
String item;
double quantity;
double cost;
double cost1;
double quantity1;
public VendingItem(double[][] pq, String[] n, String[] d)
{
itemPQ = pq;
itemNumbers = n;
itemDisplay = d;
}
//************************************************************************************************
public VendingItem setItem(String item, double quantity, double cost)
{
this.item = item;
this.quantity = quantity;
this.cost = cost;
return this;
}
//************************************************************************************************
public void displayItem()
{
final String NUM_FMT_STR = "%5s";
final String IPQ_FMT_STR = "%5d";
final String DISP_FMT_STR = "%5s";
System.out.printf(DISP_FMT_STR, "");
for (int col=0; col<itemDisplay.length; col++)
{
System.out.printf(DISP_FMT_STR, itemDisplay[col]);
}
System.out.println();
for (int row=0; row<itemPQ.length; row++)
{
System.out.printf(NUM_FMT_STR, itemNumbers[row]);
for (int col=0; col<itemPQ[0].length; col++)
{
System.out.printf(IPQ_FMT_STR, itemPQ[row][col]);
}
System.out.println();
}
}
}
を参照してください、「動作を停止しているようですか」?例外をスローしますか、エラーですか?期待通りのフォーマットでは印刷されませんか? –