我是 Java 新手,我正在練習創建類、物件和從類中獲取變數。我創建了一個類 Factory,其中包含 2 個字串變數和一個來自不同類的物件陣列,稱為 Item,其中包含 2 個字串變數。在我的主程式中,我想從 Factory 類中洗掉變數。我設法列印了名稱和地址,但 getItem() 顯然不會從 Item 類列印 getName() 字串。我嘗試在 Factory 類中使??用 toString 覆寫,但我猜它不適用于這種型別的自定義類。在這種情況下我能做什么?
類工廠:
public class Factory {
public static final int MAX_ODABRANIARTIKLI = 3;
String name;
String address;
Item[] items = new Item[MAX_ODABRANIARTIKLI];
public Factory(String name, String address, Item[] items) {
this.name = name;
this.address = address;
this.items = items;
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public Item[] getItems() {
return items;
}
public void setName(String name) {
this.name = name;
}
public void setAddress(String address) {
this.address = address;
}
public void setItems(Item[] items) {
this.items = items;
}
}
類專案:
public class Item {
String name;
String category;
}
public Item(String name, String category) {
this.name = name;
this.category = category;
}
public String getName() {
return name;
}
public String getCategory() {
return category;
}
public void setName(String name) {
this.name = name;
}
public void setCategory(String category) {
this.category = category;
}
}
主要代碼:
import hr.java.production.model.Factory;
public class Main {
public static final int MAX_TVORNICA = 2;
public static void main(String[] args) {
Factory[] tvornice = new Factory[MAX_TVORNICA];
System.out.println("Unijeli ste sljede?e tvornice:");
for(Factory factory : tvornice){
ispisTvornica(factory);
}
}
public static void ispisTvornica(Factory factory){
System.out.println("Naziv: " factory.getName());
System.out.println("Web adresa: " factory.getAddress());
System.out.println("Odabrani artikli: " factory.getItems());
}
uj5u.com熱心網友回復:
覆寫回傳名稱的 Item 類中的 toString() 方法,然后您可以使用 Arrays.toString(factory.getItems())
uj5u.com熱心網友回復:
嘗試這個
工廠.Java
public class Factory {
public static final int MAX_ODABRANIARTIKLI = 3;
String name;
String address;
Item[] items = new Item[MAX_ODABRANIARTIKLI];
public Factory(String name, String address, Item[] items) {
this.name = name;
this.address = address;
this.items = items;
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public Item[] getItems() {
return items;
}
public void setName(String name) {
this.name = name;
}
public void setAddress(String address) {
this.address = address;
}
public void setItems(Item[] items) {
this.items = items;
}
}
專案.java
public class Item {
String name;
String category;
public Item(String name, String category) {
this.name = name;
this.category = category;
}
public String getName() {
return name;
}
public String getCategory() {
return category;
}
public void setName(String name) {
this.name = name;
}
public void setCategory(String category) {
this.category = category;
}
@Override
public String toString() {
return "Item [name=" name "]";
}
}
主程式
public class Main {
public static final int MAX_TVORNICA = 2;
public static void main(String[] args) {
int i = 0;
Factory[] tvornice = new Factory[MAX_TVORNICA];
System.out.println("Unijeli ste sljede?e tvornice:");
Item[] items = { new Item("Joy", "category_Joy"), new Item("Roy", "category_Roy") };
tvornice[0] = new Factory("Jems", "ABC", items);
tvornice[1] = new Factory("ivuksan", "XYZ", items);
for (Factory factory : tvornice) {
ispisTvornica(factory, i );
}
System.out.println("------------------------------------------------------------------------");
for (Factory factory : tvornice) {
ispisTvornicaAnother(factory);
}
}
public static void ispisTvornica(Factory factory, int i) {
System.out.println("Naziv: " factory.getName());
System.out.println("Web adresa: " factory.getAddress());
System.out.println("Odabrani artikli: " factory.getItems()[i]);
}
public static void ispisTvornicaAnother(Factory factory) {
System.out.println("Naziv: " factory.getName());
System.out.println("Web adresa: " factory.getAddress());
for(Item item : factory.getItems())
System.out.println("Odabrani artikli: " item);
}
}
我定義了兩個函式:
- ispisTvornica() 函式為每次迭代列印 Item 類中存在的 1 x 1 項名稱
- ispisTvornicaAnother() 函式為每次迭代列印它列印所有專案名稱。
輸出:-
Unijeli ste sljede?e tvornice:
Naziv: Jems
Web adresa: ABC
Odabrani artikli: Item [name=Joy]
Naziv: ivuksan
Web adresa: XYZ
Odabrani artikli: Item [name=Roy]
------------------------------------------------------------------------
Naziv: Jems
Web adresa: ABC
Odabrani artikli: Item [name=Joy]
Odabrani artikli: Item [name=Roy]
Naziv: ivuksan
Web adresa: XYZ
Odabrani artikli: Item [name=Joy]
Odabrani artikli: Item [name=Roy]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/344006.html
上一篇:從打開瀏覽器視窗停止Intellij中的“運行spring-boot”
下一篇:Selenium不是點擊日期
