所以我有一个字符串数组。每个索引都包含一个字符串,如“abc”“fnsb”“feros”。我想通过for循环传递这个字符串数组,该循环可以获得上面列出的所有字符串的每个字符的ASCII值,并可能将每个字符串的字符的ASCII值存储在另一个数组中。例如,如果我的字符串数组有
mystrings[0] = hi
mystrings[1] = hello
mystrings[2] = farewell
我希望它取“h”和“i”的ASCII值并将其存储在newarray[0]
中,然后取“h”,“e”,“l”,“l”的ASCII值“,”o“并将其存储到newarray[1]
和ETC。
注意:上面是一堆伪代码。这是我实际拥有的:
String[] mystrings= new String[100];
double [] newarray = new double[100];
for (int x=0; x<100; x++){
char character = mystrings[x].charAt(x);
int ascii = (int) character;
newarray[x] = ascii;
System.out.println(newarray[x]);
}
另一个注意事项:mystrings数组的每个索引中确实存储了多个字符串。它只是在我的代码的另一部分,我不想分享。所以请假设“mystrings”数组正确地填充了各种字符串。谢谢!
答案 0 :(得分:1)
伪代码中的关键问题是结果必须不仅仅是数组,而是数组数组:
int[][] newarray = new int[mystrings.length][];
第二个问题是获取字符代码必须在一个单独的循环中完成,嵌套在第一个循环中。循环必须从零到mystring[i].length()
:
char character = mystrings[x].charAt(y);
// ^
请注意,charAt
参数不与x
中的mystrings[x]
相同,因为它必须是一个单独的循环。
答案 1 :(得分:0)
<div class="add-note" [class.is-active]="isActive">
<button class="add-note-button" (click)="onToggleAddNote()">
Add Note
<md-icon svgSrc="assets/images/plus-circle-outline.svg"></md-icon>
</button>
<div class="add-note-content">
<form [formGroup]="form" autocomplete="off" novalidate class="note-form">
<fieldset>
<div class="form-field">
<textarea name="body" formControlName="body"></textarea>
<div class="field-error-message"
*ngIf="isErrorVisible('body', 'required')">
field is mandatory
</div>
</div>
<div class="btn-toolbar">
<div class="btn-group actions">
<button class="btn btn-outline-primary" (click)="onToggleAddNote()">
Cancel
</button>
<button class="btn btn-outline-success" [disabled]="!form.valid" (click)="save(form)">
Save
</button>
</div>
</div>
</fieldset>
</form>
</div>
</div>
答案 2 :(得分:0)
这是Java 8解决方案:
String[] mystrings = {"hi", "bye"};
List<List<Integer>> result;
result = Arrays.stream(mystrings)
.map(s -> s.chars()
.mapToObj(e -> (char) e)
.collect(Collectors.toList()))
.map(chars -> chars.stream()
.map(Integer::new)
.collect(Collectors.toList())
)
.collect(Collectors.toList());
...输出将是:
[[104, 105], [98, 121, 101]]