使用1个变量获取更多值

时间:2017-04-05 19:43:45

标签: java object instance

这个东西很新,我正在努力解决这个问题......我应该创建一个有很多实例的变量。例如,在我的情况下,我需要询问用户出发城市和抵达城市。

    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; 
}

我已尝试创建第二个变量,但它没有解决任何问题(如果旅行者希望在中间的目的地停留然后前往最终目的地,那该怎么办)。我寻找解释,如果可能的话不是解决方案:)

先谢谢男/女!

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

你可以这样做。

这里存储前两个变量。

Kraj kraj = new Kraj(mesto, drzava);

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

Kraj kraj2 = new Kraj(mesto2, drzava2);