这个东西很新,我正在努力解决这个问题......我应该创建一个有很多实例的变量。例如,在我的情况下,我需要询问用户出发城市和抵达城市。
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 :(得分: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);