약간의 컨텍스트를 제공하기 위해 튜링 머신의 간단한 기능 만 프로그래밍하려고합니다. 사용자 입력 (문자열과 정수 모두)을 arraylist에 저장하고 배열을 통해 프로그램을 읽고 입력을 기반으로 일련의 명령을 실행하는 데 문제가 있습니다. 다음은 문자입니다.다른 유형의 사용자 입력 저장 및 읽기
public void postMenu()
{
say("\tI\timport file" );
say("\tM\tenter multiple inputs" );
say("\tX\texit program" );
say("\tS\tenter single input" );
say("");
say("Enter command:");
}
public void SecondMenu()
{
say("\t?\tprint current cell" );
say("\t=\tassign new symbol to current cell");
say("\tE\terase current cell" );
say("\tL\tmove head to left" );
say("\tR\tmove head to right" );
say("\tB\trewind to beginning of tape" );
say("\tD\tdump contents of tape" );
}
public void say(String s)
{
System.out.println(s);
}
그래서 예를 들어, 입력 다중 입력
예에 M의 사용자 타입 : 프로그램 '이 생성 할 등 R R '빈 ' R 테이프 '[1, 0,'공백 '] 나는이 부분에 문제가있는 부분입니다.
else
if (command == 'M')
{
say("Type Done to finish inputs");
String input = getReq.next();
int binaryinput = getReq.nextInt();
do {
List<Object>inputs = new ArrayList<Object>();
while(!"Done".equalsIgnoreCase(input)){
inputs.add(Integer.parseInt(input));
input=getReq.next();
if(inputs.isEmpty())
return;
}
} while (binaryinput == 0 && binaryinput == 1 && input == " ");
지금 글자를 입력하기 시작하면 오류 메시지가 나타납니다. 사용자 입력의 : * 정수는 이진수 (. 나는 '빈'입력 문자열이나 정수 (int)로 분류 될 경우 아주 확실하지 않다)
것보다 다른 숫자가 될 수없는 다른 아무것도 바이너리가 입력 된 경우 입력이 잘못되었다는 오류 메시지가 반환되고 올바른 입력을 요청합니다.
편지를 입력하여 프로그램이 테이프 주위를 이동할 수도 있습니다.
"완료"를 입력하면 입력이 끝납니다. 한마디로
, 나는 ArrayList에 물체로 모두 진 정수와 문자열 (문자 및 완료)을 저장할 수 있어야합니다 (저장하는 쉬운 방법이 있는지, 그것을 포함하십시오) 프로그램을 상기 사용자 입력 배열을 판독하고 읽는 문자에 기초하여 명령을 실행한다.
당신의 동안이 이해가되지 않습니다 다음, 당신은 조건을 가지고하지 않습니다 포함하는 경우 binaryinput == 0 && binaryinput = = 1, 아마도 당신은 ||을 사용하고 싶습니까? –
문자열을 비교할 때 .equals를 사용하는 경우에도 ==를 사용하는 것과 동일합니다. –