배열을 벡터로 바꾸는 과정에서
import java.util.Scanner;
import java.util.Vector;
public class GoodsArray {
public static void main(String[] args) {
Vector <Goods> a = new Vector <Goods>(1);
Scanner s = new Scanner(System.in);
for(int i=0; i<a.capacity(); i++) {
String name = s.next();
int price = s.nextInt();
int n = s.nextInt();
int sold = s.nextInt();
a [i] = new Goods(name, price, n, sold);
이 부분이 틀려서 어떻게 짜야 할까요 위에서 입력받은 값을 벡터 a에 넣고 싶은데...
}
for(int i=0; i<a.capacity(); i++) {
System.out.print(a.get[i].getName()+" ");
System.out.print(a.get[i].getPrice()+" ");
System.out.print(a.get[i].getNumberOfStock()+" ");
System.out.println(a.get[i].getSold());
}
}
}
class Goods {
private String name;
private int price;
private int numberOfStock;
private int sold;
Goods(String name, int price, int numberOfStack, int sold) {
this.name = name;
this.price = price;
this.numberOfStock = numberOfStock;
this.sold = sold;
}
String getName() {return name;}
int getPrice() {return price;}
int getNumberOfStock() {return numberOfStock;}
int getSold() {return sold;}
}
Goods goods = new Goods(...) a.add(goods)
(...) 이부분은 뭔가요??
니가 위에 검은색으로 쓴거 복사가 안되 귀찮아서 다 안적음 생성자 부분임
아 그 근데 왜 Goods goods = 이렇게 가나요 벡터를 선언해야하는거 아닌가요?
벡터는 니가 위에 생성하셨잖아요.. 백터만들고 안에 데이터를 넣는거임 ㅇㅋ? 자세한건 자료구조 go
음 그럼 두개만 질문해도 될까요
마지막 2개 ㅠㅠ
Goods goods 는 벡터가 아니고 그럼 뭔지랑
goods를 벡터 a에 넣었는데 그걸 출력 하려면 a.get(o) 이게 안되는데 어떻게 해야하나요ㅠ
엄청난 질문이다. 그것은 클래스입니다. 님은 자바 기본서부터 보셔야겠네얌!
a.get(0) 햇는데 Goods가 안나온다규여? 그럴리가
Goods가 클래스인건 알겠는데 그 다음 goods도 클래스인건가요? 그럼 goods라는 놈은 네임 프라이즈 등등을 같는 클래스인거고 a.add(goods) 는 그 클래스 값을 벡터에 저장하는거 맞나요???? 네 a.get(0) 했더니 Goods@7d4991ad 이렇게 출력 되요 ㅠ
Goods 클래스를 new를하면 객체가 생성댑니다. @뭐시기 나오는건 그 객체의 참조값이고요. Goods goods = a.get(0) goods.getName()하면 아까 넣은거 제대로 나올껍니다
윗 댓글서 말하신걸 System.out.print(a.goods.getName()); 이렇게 쓰라는 말씀이신가요?