목표는 너무 단순한 계산기입니다. 나는 이미 두 개의 값을 취할 수 있고 덧셈, 뺄셈 등을 할 수있는 것을 만들었지 만, 다음과 같이 사용자 입력을 읽을 수있는 것을 시도해보고 싶다 : 2 + 3
그리고 또한 3 * 4 + 5/2
을 예로 들자. 나는 프로그래밍에 대한 소개 강좌를 듣고있다.사용자 입력이 두 개의 배열, 두 줄 및 문자열로 정렬되었습니다.
그래서 사용자 입력은 몇 개의 값과 몇 개의 연산 (우선 순위의 규칙이 고려되지 않는지)을 결정합니다.
나는 내부 루프를 사용하여 while 루프를 사용하여 두 개의 배열에 사용자 입력을 직접 입력 할 수 있다고 생각했다. 의사 코드에서
while (input is not quit)
if input is a value, put in value array
if input is symbol, put in symbol array
지금까지 나는이 작성했습니다 :
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String input = "";
Double[] values = new Double[10];
String[] symbols = new String[10];
int v = 0;
int s = 0;
while (!input.equals("q")) {
input = sc.nextLine();
if (sc.hasNextDouble()) {
values[v] = Double.parseDouble(input);
v++;
} else {
symbols[s] = input;
s++;
}
}
System.out.println(Arrays.toString(values));
System.out.println(Arrays.toString(symbols));
}
테스트 실행은 다음과 같이이다 : 나는 종류의 나는 Q를 누르면 너무 필요로하는지 볼 수 있습니다
2
2
2
a
b
s
q
q
[2.0, 2.0, null, null, null, null, null, null, null, null]
[2, a, b, s, q, null, null, null, null, null]
두 번이지만 두 개 중 하나가 문자열 배열에 들어가는 이유는 알 수 없습니다.
문자를 입력 한 후 2 자릿수를 입력하면 예외가 발생하고 프로그램이 종료됩니다.
답장을 보내 주셔서 감사합니다.
이 자바입니까? 언어 태그를 추가해야합니다. – hatchet
오, 죄송합니다! 사이트에 새로운 :) – IMJensen