2014-10-09 3 views
0

мне не нужно точное решение, потому что это домашнее задание, но у меня возникают проблемы с одним:Преобразование строки в Интс и гольцов

Если у меня есть строка, состоящая из 3 a 2 b 1 c
мне нужно получить ints и добавить их, затем получить символы и преобразовать их в класс, но я не знаю, как я могу это сделать. Не существует метода nextChar()?

+1

Если вы хотите, чтобы символ находился в некоторой позиции от String, вы можете использовать его метод 'charAt (index)'. Вы также можете получить массив символов из своей строки без помощи метода toCharArray(). – Pshemo

+0

Если у вас есть этот пробел между каждым символом, вы также можете посмотреть на метод split() String, который даст вам массив String с каждым символом в своей собственной ячейке. – MarsAtomic

+0

Вы имеете в виду AAABBC? – Leo

ответ

2

Вот один очень простой вариант.

Я расскажу вам, как обращаться с каждым из разных типов.

String[] contents = "3 a 2 b 1 c".split(" "); 

int i = 0; 
for (String c : contents) { 
    if (i % 2 == 0) { 
     // do something to handle the characters 
    } 
    else { 
     // do something to handle the numbers 
    } 

    i++; 
} 
+0

Я думаю, он имеет в виду AAABBC – Leo

1

проще в Java, так как символ и короткие номера означает то же самое, вам просто нужно, чтобы заставить короткий:

int total = 0; 
for(char a : "ABCDE".toCharArray()) { 
    total += (short)a; 
} 

Это добавит значение ASCII из символов, если у вас есть произвольное значения для ваших символов затем просто добавьте карту для преобразования:

Map<Character, Integer> charValues = new HashMap<>(); 
charValues.put('A', 5); 
charValues.put('B', 7); 
charValues.put('C', 15); 
int total = 0; 
for(char a : "ABCDE".toCharArray()) { 
    total += charValues.get(a); 
} 
Смежные вопросы