【发布时间】:2021-02-14 23:53:13
【问题描述】:
给定一个字符串,我如何获取每对字母?
这里是一个例子,给定 string = "asdfg",代码输出 arr[as,df,g_]; 给定 string = "asdfgghk",代码输出 arr[as,df,gg,hk]。
如果字符串长度是奇数,那么最后一对将是 char[i]_,(下划线)
这是我写的部分代码:
public static char
getCharFromString(String s, int index)
{
return s.charAt(index);
}
public static String[] solution(String s) {
char a, b;
String[] arr = new String[(s.length() / 2)];
for(int i = 0; i < s.length(); i+=2) {
if(s.length() % 2 == 0) {
a = getCharFromString(s, i);
b = getCharFromString(s, i + 1);
arr[i] = a + b ;
}
else {
a = getCharFromString(s, i);
b = getCharFromString(s, i + 1);
arr[i] = a + b ;
if(i == s.length()) {
b = "_";
}
}
}
return arr;
}
【问题讨论】:
-
欢迎来到 Stack Overflow!请阅读“如何创建minimal reproducible example”。然后使用edit 链接改进您的问题(不要通过 cmets 添加更多信息)。否则我们无法回答您的问题并为您提供帮助。含义:不要只给我们您的任务和您当前的代码。不要指望我们首先弄清楚你的代码当前在做什么,然后找出它到底哪里错并导致错误的输出。
-
和无关的:了解 java 命名约定。类名总是大写。您在代码中使用的名称应该是有意义的。 “代码”不会告诉您该类应该做什么,而 s, a, b, ... 不会告诉您关于变量的用途。仅对循环索引使用单个字符名称,其他任何内容都应该使用更冗长的名称!