2012-01-02 6 views
3

이것은 내 과제에 관한 것이므로 설명과 함께 일반 답변을 부탁드립니다.배열을 모두 기억하고 싶습니다

저는 온라인 주문 시스템을 위해 for-loop를 만들어야합니다. for-loop와 ordering은 모두 잘 작동하지만 동일한 항목이 두 번 입력되면 동일한 항목에 대한 이전 순서를 잊어 버리고 최신 항목 만 기억합니다. 간단한 배열과 for-loops를 사용해야하므로 솔루션/도움말이 기본 수준이기도합니다.

내 코드는 다음과 같이 보인다 (참고 : 다음은 무엇 루프의 일부처럼 보이는 단지 예입니다 - 완벽한 프로그램이 아닙니다이),이 루프

for (int i = 0; i < 3; i++) { //I changed the loop so there's no confusion about 
           //what I am actually asking about. 
    if (order.equalsIgnoreCase(computer) { 
     int price = quantity[i] + itemcode; 
    } 
} 

더 설명하기 위해 if 문은 특정 항목을 한 번만 주문하면 완벽하게 작동합니다. 그러나 사용자가 한 번 컴퓨터 주문을 입력 한 다음 3 번 더 주문하면 다른 컴퓨터를 주문하면 출력은 새 주문에서 이전 주문을 추가하지 않고 최신 주문 만 기억합니다.

내 연구를위한 것이기 때문에이 문제에 대해 제안 된 모든 작업을 고맙게 생각합니다. 직접 솔루션보다는 설명에 감사드립니다.

불명확 한 경우 나에게 질문하십시오.

+1

" 이전 주문 "? –

+0

나는'blah == blah' 부분을 이해하지 못한다고 생각합니다. 정확히 여기서 뭘 하려구? 더 많은 코드를 게시하십시오. –

+0

Dave는 예를 들어 사용자가 4 대의 컴퓨터를 먼저 주문한 다음 10 대의 컴퓨터를 주문한 경우 프로그램에서 14 대의 컴퓨터를 계산하지 않고 10 대의 컴퓨터에 대한 주문 만 고려합니다. –

답변

1

"잊어 버리십시오"는 말은 단지 증가하는 것이 아니라 코드에서 무엇인가를 덮어 쓰는 것을 의미합니다. 코드를 살펴보고 새 주문을 할 때 리셋되는 부분을 확인하십시오. 예를 들어,

quantity[1] = getNumberFromUser("How many apples?");

을하고있는 경우,이 것 분명히 삭제 이전 값마다. 당신은 단순히 사과의 수를 증가하려면,

quantity[1] += getNumberFromUser("How many apples?");

또 다른 일반적인 조언처럼 뭔가를하면 코드를 디버깅하기 위해 인쇄 문을 사용하는 것입니다. 그렇게하면 실제로 일어나는 일을 스스로 볼 수 있습니다. 실제 디버거를 사용하는 것도 큰 이점이 될 것입니다. 당신이 제품의 두 개 이상의 typres을 한 다음에 다음 코드를 시도 할 수 있습니다 함께 모든 주문에 대한 가격을 계산하려면

+0

답변 해 주셔서 감사합니다. 나는 그것이 나의 대학 과제이고 많은 학생들이이 웹 사이트를 도움을주기 때문에 전체 코드를 게시하지 않았다. 이 표절은 표절이 매우 엄격하므로 아무런 위험을 감수하고 싶지 않습니다. 내가 너의 제안을 시도하자, 그러면 내가 어디로 가는지 알려 줄 것이다. –

+0

그게 내가 묻고있는 바로 그 것이다. 감사! 그 꽤 기본하지만 프로그래밍에 대한 경험이 거의 없기 때문에 때때로 붙어있을 수 있습니다. –

+0

그냥 분명히하기 위해, '='를 '+ ='로 변경해야했습니다. 모든 숙련 된 프로그래머는 아마 "오, 무슨 멍청한 놈"이라고 생각하고 있겠지만, 프로그래밍을 한 번도 해보지 못했지만 지금은 대학 때문에, 꼭해야만하는 나 같은 사람에게는 정말로 어렵습니다. –

1

는 ,, 내가

int price=0; 
for (int i = 0; i < 3; i++) { //I changed the loop so there's no confusion about 
           //what I am actually asking about. 
    if (order.equalsIgnoreCase(computer) { 
      price += quantity[i] + itemcode; //use the previous value of price 
    } 
} 

또는 다른 경우 ,, 그게 전부는 아주 간단한 생각 당신은 각 제품에 대한 히스토리를 따로 갖고 싶습니다. 그러면 각 제품 유형별로 가격 배열을 동일하게 시도해야합니다. 대답을 얻을 수 없다면 여기에서 의견을 말하십시오.

관련 문제