В принципе, у меня есть строка ввода, моя тестовая строка - «5 + 4», и я хочу проверить символ по символу, чтобы создать список в форме [5, +, 4 ], т.е. белые пробелы игнорируются. Кроме того, если моя тестовая строка была «567 + 5-1», она выводит [567, +, 5, -, 1], объединяя числа вместе. К сожалению, это не позволит мне сделать .add(inputChar)
моим returnValue
, говоря, что символ не найден ... любые идеи?Java .add (значение) со списками
import java.util.*;
public class CharacterArray {
public List<String> splitToChar(String s) {
List<String> returnValue = new LinkedList<String>();
char[] chars = s.toCharArray();
System.out.println(chars);
int currentNumber;
for (char inputChar : chars) {
if (Character.isDigit(inputChar) == true) {
currentNumber += inputChar;
} else if (inputChar == '.') {
currentNumber += inputChar;
} else if (inputChar == '+') {
returnValue.add(inputChar);
} else if (inputChar == '-') {
returnValue.add(inputChar);
} else if (inputChar == '/') {
returnValue.add(inputChar);
} else if (inputChar == '*') {
returnValue.add(inputChar);
} else if (inputChar == '(') {
returnValue.add(inputChar);
} else if (inputChar == ')') {
returnValue.add(inputChar);
} else {
System.out.println("Incorrect input symbol");
}
}
return returnValue;
}
}
Если вы гарантированный пробел, почему бы просто не разделить на пробелы? Кроме того, вы можете использовать переключатель. И проверьте все условия сразу, так как все они делают точно то же самое. Кроме того, довольно уверен, что 'currentNumber + = inputChar' не то, что вы хотите. –
* «Я хочу проверить персонажа по персонажам» * Какова конечная цель этого? Это академическое упражнение, домашнее задание? Если нет, обратите внимание, что версия ECMAScript (JavaScript) ['ScriptEngine'] (http://docs.oracle.com/javase/7/docs/api/javax/script/ScriptEngine.html) может * оценить * строку выражения. –
Я не являюсь защищенным пробелом, я не согласен с этим. Спасибо – Coolmurr