2017-04-05 1 views
0

이 문제에 익숙하지 않고이 문제로 어려움을 겪고 있습니다 ... 많은 인스턴스가있는 변수를 생성해야합니다. 예를 들어 제 경우에는 출발 도시와 도착 도시를 사용자에게 물어볼 필요가 있습니다.더 많은 값을 위해 하나의 변수를 사용하는 것

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

배열 대신 목록을 사용하는 것이 좋습니다. 그래서 원하는 항목만큼 추가 할 수 있습니다. – Yussef

+0

네, 맞습니다'List'가 더 센스를 만들어줍니다, 고마워요 – developer

+0

많은 분들께 감사드립니다! – User2343

0

이 작업을 수행 할 수 있습니다.

여기서 첫 번째 두 변수를 저장합니다.

Kraj kraj = new Kraj(mesto, drzava); 

그러면 클래스의 다른 객체를 만들고 나머지 두 개의 변수를 저장할 수 있습니다.

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

나는 비슷한 것을 시도해 봤지만, 만약 이걸 얻으면 다른 2 개의 변수를 저장하게됩니다. 사용자가 10 개의 변수를 저장하려는 경우 어떻게해야합니까? 또는 나는 틀린가? – User2343

+0

당신의 클래스는 단지 10 개의 변수에 대해 2 개의 변수를 취하는 디자인입니다. 위의 답과 같이 객체의 Array와 Store를 만들 수 있습니다. – Omore

관련 문제