समस्या यह है कि मुझे नहीं पता कि कंसोल से मेरे इनपुट कैसे स्टोर करें।
यहाँ मेरा कोड है:
for (int j = 0; j < arr1.length; j++) {
System.out.println("");
System.out.print("Select product code: ");
arr1[j] = reader.next();
if (arr1[j].contains("A001")){
mouse = 100.00;
System.out.print("Enter quantity: ");
qty = reader.nextInt();
amount = qty * mouse;
System.out.print("Amount:\t\t\t " + amount);
}
if (arr1[j].contains("A002")) {
monitor = 2500.00;
System.out.print("Enter quantity: ");
qty = reader.nextInt();
amount = qty * monitor;
System.out.print("Amount:\t\t\t " + amount);
}
if (arr1[j].contains("A003")) {
keyboard = 200.00;
System.out.print("Enter quantity: ");
qty = reader.nextInt();
amount = qty * keyboard;
System.out.print("Amount:\t\t\t " + amount);
}
if (arr1[j].contains("A004")) {
flashdisk = 300.00;
System.out.print("Enter quantity: ");
qty = reader.nextInt();
amount = qty * flashdisk;
System.out.print("Amount:\t\t\t " + amount);
}
if (arr1[j].contains("A005")) {
harddisk = 1500.00;
System.out.print("Enter quantity: ");
qty = reader.nextInt();
amount = qty * harddisk;
System.out.print("Amount:\t\t\t " + amount);
}
और यहां वह कोड है जो कोड की पंक्ति होना चाहिए जहां यह संग्रहीत डेटा का परिणाम दिखाएगा।
System.out.println("");
System.out.print("Add item (y/n) " );
yn = reader.next().charAt(0);
if (yn == 'y' || yn == 'Y') {
continue;
}
else if (yn == 'n' || yn == 'N') {
System.out.println("Code\tDescription\tUnit Price\tQuantity\tAmount");
System.out.print(arr1[j]);
if (arr1[j].contains("A001")) {
System.out.print("\tMouse");
System.out.print("\t\t"+mouse);
System.out.print("\t\t"+qty);
System.out.print("\t\t"+amount);
if (arr1[j].contains("A002")) {
System.out.print("\t\nMonitor");
System.out.print("\t\t"+mouse);
System.out.print("\t\t"+qty);
System.out.print("\t\t"+amount);
}
}
}
नमूना इनपुट होना चाहिए:
Select product code: A004
Enter quantity: 2
Amount: 800
add item(y/n)?: y
Select product code: A001
Enter quantity: 1
Amount: 100
add item(y/n)?: n
तो इसे एक सरणी में संग्रहीत किया जाएगा जो परिणाम होगा लेकिन दोनों इनपुट सरणी प्राप्त करने के बजाय, मुझे केवल उन दोनों के बजाय दूसरा इनपुट सरणी मिलती है।
Code Description Unit Price Quantity Amount
A001 Mouse 100.0 1 100.0
1 उत्तर
हर बार जब आप उपयोगकर्ता इनपुट पढ़ रहे हैं, तो आप जानकारी को ओवरराइड कर रहे हैं, क्योंकि आप सरणी के बजाय चर में संग्रहीत कर रहे हैं।
एक वस्तु बनाएं जैसे:
class Product {
private String code;
private String name;
private Long price;
private Integer amount;
public Long getPrice();
public Integer getAmount();
public void setPrice(Long price) { this.setPrice(price); }
public void setAmount(Integer amount) { this.setAmount(amount); }
...
}
फिर, एक Product [] productArr = new Product[anyLength];
बनाएं अब जब आप जाँचते हैं कि क्या इनपुट उदाहरण के लिए A005 है, तो आप ऑब्जेक्ट को निम्न जानकारी के साथ संग्रहीत करेंगे:
if (arr[j].contains("A005")) {
Product newProduct = new Product();
newProduct.setPrice(1500.00);
newProduct.setCode("A005");
qty = reader.nextInt();
amount = qty * newProduct.getPrice();
newInfo.setAmount(amount);
productArr[j] = newProduct;
}
फिर जब आपको उन्हें प्रिंट करने की आवश्यकता होती है, तो आप उदाहरण के लिए केवल इंडेक्स productArr[j].getAmount()
द्वारा एक्सेस करते हैं।
अनुशंसित के रूप में प्रयास करें, लेकिन भविष्य में यदि आप एक बेहतर दृष्टिकोण चाहते हैं, तो बेहतर होगा कि आप अपने उत्पाद, A002 ..., A003, ... के लिए A001 को मैप करने के लिए Map
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।