2017-04-05 75 views
0

很新,这个东西和我这个问题所困扰1个变量...我应该创建一个具有许多实例变量。例如在我的情况下,我需要向用户询问出发城市和到达城市。使用更多的价值

System.out.println("Vnesite ime mesta kamor potujete: "); // here is where i ask for the first city 
    String mesto = scan.next(); 
    System.out.println("Vnesite ime države kamor potujete: "); 
    String drzava = scan.next(); 
    System.out.println("Vnesite ime mesta iz katerega potujete: "); //here is where i ask for the second city 
    String mesto2 = scan.next(); 
    System.out.println("Vnesite ime države iz katere potujete: "); 
    String drzava2 = scan.next(); 


    Kraj kraj = new Kraj(mesto, drzava); 

,这里是其中变量的情况下,应存放。

public class Kraj { 

private String kraj; // this variable is supposed to have many instances 
private String drzava; 

public Kraj(String kraj, String drzava) 
{ 
    this.kraj = kraj; 
    this.drzava = drzava; 
} 

public String getkraj () 
{ 
    return kraj; 
} 

public void setkraj (String kraj) 
{ 
    this.kraj = kraj; 
} 

public String getdrzava () 
{ 
    return drzava; 
} 

public void setdrzava (String drzava) 
{ 
    this.drzava = drzava; 
} 

我试图创建第二个变量,但它并没有解决任何问题(如果什么旅行者想要让停在中间目标,然后进行最终的目的地)。进出口寻找解释如果可能解决不了问题:)

在此先感谢球员/女孩!

+0

既可以存储'kraj'对象列表,也可以存储'String' kraj和drzavas列表。 – Compass

回答

0

你可以有String列表存储多个目的地,如下图所示:

public class Kraj { 

    private List<String> kraj;//now stores multiple destinations 

    public List<String> getkraj() { 
    return kraj; 
    } 

    public void setkraj(List<String> kraj) { 
     this.kraj = kraj; 
    } 

    //add drzava and it's setters and getters 

} 

所以,在你的主代码,你需要将它们收集到一个数组中,并通过如下图所示:

List<String> destinations = new ArrayList<>(); 
System.out.println("Vnesite ime mesta kamor potujete: "); 
    String mesto = scan.next(); 
    System.out.println("Vnesite ime države kamor potujete: "); 
    String drzava = scan.next(); 
    destinations.add(drzava); 
    System.out.println("Vnesite ime mesta iz katerega potujete: "); 
    String mesto2 = scan.next(); 
    System.out.println("Vnesite ime države iz katere potujete: "); 
    String drzava2 = scan.next(); 
    destinations.add(drzava2); 

    Kraj kraj = new Kraj(mesto, destinations); 
+0

我建议使用List而不是数组,所以我们可以添加他们想要的项目。 – Yussef

+0

是的,你是对的'List'更有scense,谢谢 – developer

+0

非常感谢你们! – User2343

0

你可以做到这一点。

这里你存储1日的两个变量。

Kraj kraj = new Kraj(mesto, drzava); 

然后你可以创建你的类的另一个对象,并存储剩下的两个变量。

Kraj kraj2 = new Kraj(mesto2, drzava2); 
+0

我试过类似的东西,但如果我知道这个权利,这只会让你存储另外2个变量。如果用户想要存储10个变量呢?或者我错了? – User2343

+0

你的课堂只设计为10个变量取两个变量,你可以创建对象数组并存储在上面的答案中。 – Omore