2012-10-20 2 views
0

Java를 처음 사용하며 main에서 값을 유지하는 데 문제가 있습니다. 내 IDE로 파란색 J를 사용하고 있습니다.값 보유 Java

어쨌든 두 개의 클래스가 있습니다. Driver (void [] main을 가진)와 Deck라는 클래스. 프로그램을 처음 실행하면 문제없이 실행되며 데크에 값을 설정합니다. 그런 다음 주 스레드 (드라이버)로 돌아가서 사용자에게 메뉴에 대한 숫자 값을 표시합니다. 그들은 키를 누르고 그것을 읽었고 이전에와 똑같은 값을 나타 내기 위해 다시 갑판에 전화하지만 내 배열과 같은 값은 이번에는 비어 있습니다. 처음에는 세터를 사용하여 값을 설정했지만 처음에는 공백으로 초기화되었지만 비어 있습니다.

주 스레드 (드라이버)에서 동일한 개체 (데크)를 지나가고 있습니다. 누구도 동일한 개체를 사용하고 처음 값을 설정 했음에도 불구하고 두 번째 시간을 실행할 때 값이없는 이유를 알고 있습니까? 나는 코드를 게시 하겠지만 잘 조직되어 있지 않으며 그것을 꽤 잘 요약 해 놓았다.

또한 Java 값을 유지하는 것과 관련하여 이해하지 못할 수도 있습니다.

미리 감사드립니다.

+1

@AlexG 우리는 귀하의 코드를보고 싶습니다. 또한 스택 오버플로 (stack-overflow)시 다른 사람들에게 불쾌감을 주거나 무례하지 않는 것이 좋습니다. –

+0

@PrototypeStark 코드를 게시해야합니다. 또한 내가 어떻게 무례한 지 설명하고 싶다면 –

+1

"너는 똑똑한 말만하면 아무 말도하지 말고 내가 너의 태도가 아닌 지원을하러 왔어."라고 알고 싶다. 우리가 그 문제를 짐작할 수 없거나 해결책을 찾지 못해 코드를 보여 주려한다는 것뿐입니다. –

답변

0

정확하게 어떤 문제가 있는지 알 수 없습니다. 그러나 당신은 이것들을 시도 할 수 있습니다 : 1) 생성자 안에서 변수를 선언하고 초기화 했습니까? 그렇다면 생성자 외부에서 변수를 선언하여 클래스 갑판의 모든 객체에 대한 필드가되도록합니다.

2) 코드를 분리하고 값이 실제로 덱 클래스의 객체에서 변수에 설정되었는지 확인하십시오. 필드가 null를 나타내는 경우. 그들은 값으로 설정되어서는 안된다.
생성자를 사용하여 생성자를 사용하거나 다른 setValue() 메서드를 만들어 값을 설정할 수 있습니다. 그래서 main()에서이 메서드를 호출하고 값을 설정합니다.

하지만 질문에 코드를 추가 할 수 있다면 좋을 것입니다.